1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
      <output id="hzk7v"></output>
    2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
    3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>

      JS正则表达式 整合 (值得收藏)

       更新时间£º2018年11月30日 08:53:39   作者£º萌新代码狗   我要评论

      本文给大家收藏整理了js正则表达式的相关知识£¬非常不错£¬具有一定的参考借鉴价值£¬需要的朋友参考下

      url的正则表达式£º包括IP£¬域名£¨domain£©£¬ftp£¬二级域名£¬域名中的文件£¬域名加上端口£¡用户名等等信息

      function IsURL(str_url) {
       var strRegex =
        "^((https|http|ftp|rtsp|mms)?://)" +
        "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-][email protected])?" + //ftp的[email protected]
        "(([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])(?=.*[[email protected]#$%^&*? ]).*$/;
      //输出 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"));

      数字正则

      //可?#20801;?#25972;数也可?#20801;?#28014;点数
      
      //正数正则
      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([email protected]));

      身份证号正则

      //身份证号£¨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 = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂?#24335;?#33945;陕吉闽贵粤青藏川宁琼使领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正则表达式 整合£¬希望对大家有所帮助£¬如果大家有任?#25105;?#38382;请给我留言£¬小编会及时回复大家的¡£在此也非常感谢大家对脚本之家网站的支持£¡

      相关文章

      最新评论

      3dÊÔ»úºÅÖвÊÍø

        1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
          <output id="hzk7v"></output>
        2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
        3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>

            1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
              <output id="hzk7v"></output>
            2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
            3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>