JS正则表达式

作者: 老王420 | 来源:发表于2018-12-15 22:14 被阅读4次

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

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

    匹配手机号

    `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位(字母,数字,下划线,减号)

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

    整数正则

    `//正整数正则`
    `var` `posPattern = /^\d+$/;`
    `//负整数正则`
    `var` `negPattern = /^-\d+$/;`
    `//整数正则`
    `var` `intPattern = /^-?\d+$/;`
    `//输出 true`
    `console.log(posPattern.test(``"42"``));`
    `//输出 true`
    `console.log(negPattern.test(``"-42"``));`
    `//输出 true`
    `console.log(intPattern.test(``"-42"``));`
    

    数字正则

    `//可以是整数也可以是浮点数`
    `//正数正则`
    `var` `posPattern = /^\d*\.?\d+$/;`
    `//负数正则`
    `var` `negPattern = /^-\d*\.?\d+$/;`
    `//数字正则`
    `var` `numPattern = /^-?\d*\.?\d+$/;`
    `console.log(posPattern.test(``"42.2"``));`
    `console.log(negPattern.test(``"-42.2"``));`
    `console.log(numPattern.test(``"-42.2"``));`
    

    Email正则

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

    身份证号正则

    `//身份证号(18位)正则`
    `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]$/;`
    `//输出 true`
    `console.log(cP.test(``"11010519880605371X"``));`
    

    URL正则

    `//URL正则`
    `var` `urlP= /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;`
    `//输出 true`
    `console.log(urlP.test(http:``//caibaojian.com));`
    `IPv4地址正则`
    `//ipv4地址正则`
    `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]?)$/;`
    `//输出 true`
    `console.log(ipP.test(``"115.28.47.26"``));`
    `十六进制颜色正则`
    `//RGB Hex颜色正则`
    `var` `cPattern = /^``#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;`
    `//出 true`
    `console.log(cPattern.test(``"#b8b8b8"``));`
    

    日期正则

    `//日期正则,简单判定,未做月份及日期的判定`
    `var` `dP1 = /^\d{4}(\-)\d{1,2}\1\d{1,2}$/;`
    `//输出 true`
    `console.log(dP1.test(``"2017-05-11"``));`
    `//输出 true`
    `console.log(dP1.test(``"2017-15-11"``));`
    `//日期正则,复杂判定`
    `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)$/;`
    `//输出 true`
    `console.log(dP2.test(``"2017-02-11"``));`
    `//输出 false`
    `console.log(dP2.test(``"2017-15-11"``));`
    `//输出 false`
    `console.log(dP2.test(``"2017-02-29"``));`
    

    QQ号码正则

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

    微信号正则

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

    车牌号正则

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

    包含中文正则

    `//包含中文正则`
    `var` `cnPattern = /[\u4E00-\u9FA5]/;`
    `//输出 true`
    `console.log(cnPattern.test(``"董董董"``));`
    `整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$`
    `只能输入数字:``"^[0-9]*$"``。`
    `只能输入n位的数字:``"^\d{n}$"``。`
    `只能输入至少n位的数字:``"^\d{n,}$"``。`
    `只能输入m~n位的数字:。``"^\d{m,n}$"`
    `只能输入零和非零开头的数字:``"^(0|[1-9][0-9]*)$"``。`
    `只能输入有两位小数的正实数:``"^[0-9]+(.[0-9]{2})?$"``。`
    `只能输入有1~3位小数的正实数:``"^[0-9]+(.[0-9]{1,3})?$"``。`
    `只能输入非零的正整数:``"^\+?[1-9][0-9]*$"``。`
    `只能输入非零的负整数:``"^\-[1-9][]0-9"``*$。`
    `只能输入长度为3的字符:``"^.{3}$"``。`
    `只能输入由26个英文字母组成的字符串:``"^[A-Za-z]+$"``。`
    `只能输入由26个大写英文字母组成的字符串:``"^[A-Z]+$"``。`
    `只能输入由26个小写英文字母组成的字符串:``"^[a-z]+$"``。`
    `只能输入由数字和26个英文字母组成的字符串:``"^[A-Za-z0-9]+$"``。`
    `只能输入由数字、26个英文字母或者下划线组成的字符串:``"^\w+$"``。`
    `验证用户密码:``"^[a-zA-Z]\w{5,17}$"``正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。`
    `验证是否含有^%&``''``,;=?$\``"等字符:"``[^%&``''``,;=?$\x22]+``"。`
    `只能输入汉字:"``^[\u4e00-\u9fa5]{0,}$``"`
    `验证Email地址:"``^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$``"。`
    `验证InternetURL:"``^http:``//([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。`
    `验证电话号码:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$``"正确格式为:"``XXX-XXXXXXX``"、"``XXXX- XXXXXXXX``"、"``XXX-XXXXXXX``"、"``XXX-XXXXXXXX``"、"``XXXXXXX``"和"``XXXXXXXX``"。`
    `验证身份证号(15位或18位数字):"``^\d{15}|\d{18}$``"。`
    `验证一年的12个月:"``^(0?[1-9]|1[0-2])$``"正确格式为:"``01``"~"``09``"和"``1``"~"``12``"。`
    `验证一个月的31天:"``^((0?[1-9])|((1|2)[0-9])|30|31)$``"正确格式为;"``01``"~"``09``"和"``1``"~"``31``"。整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$`
    `只能输入数字:"``^[0-9]*$``"。`
    `只能输入n位的数字:"``^\d{n}$``"。`
    `只能输入至少n位的数字:"``^\d{n,}$``"。`
    `只能输入m~n位的数字:。"``^\d{m,n}$``"`
    `只能输入零和非零开头的数字:"``^(0|[1-9][0-9]*)$``"。`
    `只能输入有两位小数的正实数:"``^[0-9]+(.[0-9]{2})?$``"。`
    `只能输入有1~3位小数的正实数:"``^[0-9]+(.[0-9]{1,3})?$``"。`
    `只输入非零的正整数:"``^\+?[1-9][0-9]*$``"。`
    `只能输入非零的负整数:"``^\-[1-9][]0-9``"*$。`
    `只能输入长度为3的字符:"``^.{3}$``"。`
    `只能输入由26个英文字母组成的字符串:"``^[A-Za-z]+$``"。`
    `只能输入由26个大写英文字母组成的字符串:"``^[A-Z]+$``"。`
    `只能输入由26个小写英文字母组成的字符串:"``^[a-z]+$``"。`
    `只能输入由数字和26个英文字母组成的字符串:"``^[A-Za-z0-9]+$``"。`
    `只能输入由数字、26个英文字母或者下划线组成的字符串:"``^\w+$``"。`
    `验证用户密码:"``^[a-zA-Z]\w{5,17}$``"正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。`
    `验证是否含有^%&'',;=?$\"等字符:"``[^%&``''``,;=?$\x22]+``"。`
    `只能输入汉字:"``^[\u4e00-\u9fa5]{0,}$``"`
    `验证Email地址:"``^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$``"。`
    `验证InternetURL:"``^http:``//([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。`
    `验证电话号码:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$``"正确格式为:"``XXX-XXXXXXX``"、"``XXXX- XXXXXXXX``"、"``XXX-XXXXXXX``"、"``XXX-XXXXXXXX``"、"``XXXXXXX``"和"``XXXXXXXX``"。`
    `验证身份证号(15位或18位数字):"``^\d{15}|\d{18}$``"。`
    `验证一年的12个月:"``^(0?[1-9]|1[0-2])$``"正确格式为:"``01``"~"``09``"和"``1``"~"``12``"。`
    `验证一个月的31天:"``^((0?[1-9])|((1|2)[0-9])|30|31)$``"正确格式为;"``01``"~"``09``"和"``1``"~"``31"。`
    

    总结

    以上所述是小编给大家介绍的JS正则表达式 整合,希望对大家有所帮助
    本次给大家推荐一个交流圈,里面概括移动应用网站开发,css,html,webpack,vue node angular以及面试资源等。
    对web开发技术感兴趣的同学,欢迎加入:582735936,不管你是小白还是大牛我都欢迎,还有大牛整理的一套高效率学习路线和教程与您免费分享,同时每天更新视频资料。
    最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。

    相关文章

      网友评论

        本文标题:JS正则表达式

        本文链接:https://www.haomeiwen.com/subject/ridzhqtx.html