经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 其他 » 正则表达式 » 查看文章
JS正则表达式 整合 (值得收藏)
来源:jb51  时间:2018/12/3 9:47:44  对本文有异议

url的正则表达式:包括IP,域名(domain),ftp,二级域名,域名中的文件,域名加上端口!用户名等等信息

  1. function IsURL(str_url) {
  2. var strRegex =
  3. "^((https|http|ftp|rtsp|mms)?://)" +
  4. "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" + //ftp的user@
  5. "(([0-9]{1,3}.){3}[0-9]{1,3}" + // IP形式的URL- 199.194.52.184
  6. "|" + // 允许IP和DOMAIN(域名)
  7. "([0-9a-z_!~*'()-]+.)*" + // 域名- www.
  8. "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]." + // 二级域名
  9. "[a-z]{2,6})" + // first level domain- .com or .museum
  10. "(:[0-9]{1,4})?" + // 端口- :80
  11. "((/?)|" + // a slash isn't required if there is no file name
  12. "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
  13. var re = new RegExp(strRegex);
  14. //re.test()
  15. if (re.test(str_url)) {
  16. return true;
  17. } else {
  18. return false;
  19. }
  20. }

匹配手机号

  1. var myreg = /^(13[0-9]{1}|14[5|7|9]{1}|15[0-3|5-9]{1}|166|17[0-3|5-8]{1}|18[0-9]{1}|19[8-9]{1}){1}\d{8}$/;

用户名正则,4到16位(字母,数字,下划线,减号)

  1. var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;
  2. //输出 true
  3. console.log(uPattern.test("caibaojian"));
  4. 密码强度正则
  5. //密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
  6. var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;
  7. //输出 true
  8. console.log("=="+pPattern.test("caibaojian#"));

整数正则

  1. //正整数正则
  2. var posPattern = /^\d+$/;
  3. //负整数正则
  4. var negPattern = /^-\d+$/;
  5. //整数正则
  6. var intPattern = /^-?\d+$/;
  7. //输出 true
  8. console.log(posPattern.test("42"));
  9. //输出 true
  10. console.log(negPattern.test("-42"));
  11. //输出 true
  12. console.log(intPattern.test("-42"));

数字正则

  1. //可以是整数也可以是浮点数
  2.  
  3. //正数正则
  4. var posPattern = /^\d*\.?\d+$/;
  5. //负数正则
  6. var negPattern = /^-\d*\.?\d+$/;
  7. //数字正则
  8. var numPattern = /^-?\d*\.?\d+$/;
  9. console.log(posPattern.test("42.2"));
  10. console.log(negPattern.test("-42.2"));
  11. console.log(numPattern.test("-42.2"));

Email正则

  1. //Email正则
  2. var ePattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
  3. //输出 true
  4. console.log(ePattern.test(99154507@qq.com));

身份证号正则

  1. //身份证号(18位)正则
  2. var cP = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
  3. //输出 true
  4. console.log(cP.test("11010519880605371X"));

URL正则

  1. //URL正则
  2. var urlP= /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
  3. //输出 true
  4. console.log(urlP.test(http://caibaojian.com));
  5. IPv4地址正则
  6. //ipv4地址正则
  7. var ipP = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
  8. //输出 true
  9. console.log(ipP.test("115.28.47.26"));
  10. 十六进制颜色正则
  11. //RGB Hex颜色正则
  12. var cPattern = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;
  13. //输出 true
  14. console.log(cPattern.test("#b8b8b8"));

日期正则

  1. //日期正则,简单判定,未做月份及日期的判定
  2. var dP1 = /^\d{4}(\-)\d{1,2}\1\d{1,2}$/;
  3. //输出 true
  4. console.log(dP1.test("2017-05-11"));
  5. //输出 true
  6. console.log(dP1.test("2017-15-11"));
  7. //日期正则,复杂判定
  8. var dP2 = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;
  9. //输出 true
  10. console.log(dP2.test("2017-02-11"));
  11. //输出 false
  12. console.log(dP2.test("2017-15-11"));
  13. //输出 false
  14. console.log(dP2.test("2017-02-29"));
  15.  

QQ号码正则

  1. //QQ号正则,5至11位
  2. var qqPattern = /^[1-9][0-9]{4,10}$/;
  3. //输出 true
  4. console.log(qqPattern.test("65974040"));

微信号正则

  1. //微信号正则,6至20位,以字母开头,字母,数字,减号,下划线
  2. var wxPattern = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/;
  3. //输出 true
  4. console.log(wxPattern.test("caibaojian_com"));

车牌号正则

  1. //车牌号正则
  2. var cPattern = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;
  3. //输出 true
  4. console.log(cPattern.test("粤B39006"));
  5.  

包含中文正则

  1. //包含中文正则
  2. var cnPattern = /[\u4E00-\u9FA5]/;
  3. //输出 true
  4. console.log(cnPattern.test("董董董"));
  5. 整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$
  6. 只能输入数字:"^[0-9]*$"
  7. 只能输入n位的数字:"^\d{n}$"
  8. 只能输入至少n位的数字:"^\d{n,}$"
  9. 只能输入m~n位的数字:。"^\d{m,n}$"
  10. 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"
  11. 只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"
  12. 只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"
  13. 只能输入非零的正整数:"^\+?[1-9][0-9]*$"
  14. 只能输入非零的负整数:"^\-[1-9][]0-9"*$
  15. 只能输入长度为3的字符:"^.{3}$"
  16. 只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"
  17. 只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"
  18. 只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"
  19. 只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"
  20. 只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"
  21. 验证用户密码:"^[a-zA-Z]\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
  22. 验证是否含有^%&'',;=?$\"等字符:"[^%&'',;=?$\x22]+"
  23. 只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"
  24. 验证Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
  25. 验证InternetURL"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"
  26. 验证电话号码:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正确格式为:"XXX-XXXXXXX""XXXX- XXXXXXXX""XXX-XXXXXXX""XXX-XXXXXXXX""XXXXXXX""XXXXXXXX"
  27. 验证身份证号(15位或18位数字):"^\d{15}|\d{18}$"
  28. 验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01""09""1""12"
  29. 验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01""09""1""31"。整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$
  30. 只能输入数字:"^[0-9]*$"
  31. 只能输入n位的数字:"^\d{n}$"
  32. 只能输入至少n位的数字:"^\d{n,}$"
  33. 只能输入m~n位的数字:。"^\d{m,n}$"
  34. 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"
  35. 只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"
  36. 只能输入有1~3位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"
  37. 只能输入非零的正整数:"^\+?[1-9][0-9]*$"
  38. 只能输入非零的负整数:"^\-[1-9][]0-9"*$
  39. 只能输入长度为3的字符:"^.{3}$"
  40. 只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"
  41. 只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"
  42. 只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"
  43. 只能输入由数字和26个英文字母组成的字符串:"^[A-Za-z0-9]+$"
  44. 只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"
  45. 验证用户密码:"^[a-zA-Z]\w{5,17}$"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
  46. 验证是否含有^%&'',;=?$\"等字符:"[^%&'',;=?$\x22]+"
  47. 只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"
  48. 验证Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
  49. 验证InternetURL"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"
  50. 验证电话号码:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正确格式为:"XXX-XXXXXXX""XXXX- XXXXXXXX""XXX-XXXXXXX""XXX-XXXXXXXX""XXXXXXX""XXXXXXXX"
  51. 验证身份证号(15位或18位数字):"^\d{15}|\d{18}$"
  52. 验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01""09""1""12"
  53. 验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01""09""1""31"
  54.  

总结

以上所述是小编给大家介绍的JS正则表达式 整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对w3xue网站的支持!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号