一般的なPHP正規表現チェック

8451 ワード

一般的な正規表現チェック
一、QQ番号、携帯番号、Email、数字かどうか、前後のスペースを外すかどうか、中国語、郵便番号、身分証明書、URL、日付フォーマット、IPがあるかどうか

var myRegExp = {

    //           QQ  
    isQQ: function(str) {
        // 1      0  ^[1-9]
        // 2     [5, 11]       \d{4, 9}
        var reg = /^[1-9][0-9]{4,9}$/gim;
        if (reg.test(str)) {
            console.log('QQ        ');
            return true;
        } else {
            console.log('        QQ  ');
            return false;
        }
    },

    //                
    isPhone: function(str) {
        var reg = /^(0|86|17951)?(13[0-9]|15[012356789]|18[0-9]|14[57]|17[678])[0-9]{8}$/;
        if (reg.test(str)) {
            console.log('          ');
            return true;
        } else {
            console.log('            ');
            return false;
        }
    },

    //           Email   
    isEmail: function(str) {
        var reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
        // var reg = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
        if (reg.test(str)) {
            console.log('Email      ');
            return true;
        } else {
            console.log('        Email');
            return false;
        }
    },

    //            
    isNumber: function(str) {
        var reg = /^\d+$/;
        if (reg.test(str)) {
            console.log(str + '   ');
            return true;
        } else {
            console.log(str + '    ');
            return false;
        }
    },

    //       
    trim: function(str) {
        var reg = /^\s+|\s+$/g;
        return str.replace(reg, '');
    },

    //            
    isChinese: function(str) {
        var reg = /[\u4e00-\u9fa5]/gm;
        if (reg.test(str)) {
            console.log(str + '      ');
            return true;
        } else {
            console.log(str + '       ');
            return false;
        }
    },

    //               
    isPostcode: function(str) {
        //        0,   5     [1-9]\d{5}
        var reg = /^[1-9]\d{5}$/g;
        // var reg = /^[1-9]\d{5}(?!\d)$/;
        if (reg.test(str)) {
            console.log(str + '         ');
            return true;
        } else {
            console.log(str + '          ');
            return false;
        }
    },

    //                
    isIDcard: function(str) {
        var reg = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/;
        if (reg.test(str)) {
            console.log(str + '          ');
            return true;
        } else {
            console.log(str + '           ');
            return false;
        }
    },

    //           URL
    isURL: function(str) {
        var reg = /^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i;
        if (reg.test(str)) {
            console.log(str + '     URL');
            return true;
        } else {
            console.log(str + '      URL');
            return false;
        }
    },

    //                yyyy-mm-dd
    isDate: function(str) {
        var reg = /^[1-2][0-9][0-9][0-9]-[0-1]{0,1}[0-9]-[0-3]{0,1}[0-9]$/;
        if (reg.test(str)) {
            console.log(str + '         ');
            return true;
        } else {
            console.log(str + '          ,yyyy-mm-dd');
            return false;
        }
    },

    //           IP  
    isIP: function(str) {
        // 1.1.1.1      [0 , 255]
        //       0
        //       0  
        // 
        //   IP: 58.50.120.18          
        var reg = /^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/gi;
        if (reg.test(str)) {
            console.log(str + '     IP  ');
            return true;
        } else {
            console.log(str + '      IP  ');
            return false;
        }
    }
}

//   
// console.log(myRegExp.isQQ('80583600'));
// console.log(myRegExp.isPhone('17607160722'));
// console.log(myRegExp.isEmail('[email protected]'));
// console.log(myRegExp.isNumber('100a'));
// console.log(myRegExp.trim('  100  '));
// console.log(myRegExp.isChinese('baixiaoming'));
// console.log(myRegExp.isChinese('  '));
// console.log(myRegExp.isPostcode('412345'));
// console.log(myRegExp.isIDcard('42091119940927001X'));
// console.log(myRegExp.isURL('https://www.baidu.com/'));
// console.log(myRegExp.isDate('2017-4-4'));
// console.log(myRegExp.isIP('1.0.0.0'));

二、数字を検証する式
  :^[0-9]*$
n    :^\d{n}$
  n    :^\d{n,}$
m-n    :^\d{m,n}$
         :^(0|[1-9][0-9]*)$
               :^([1-9][0-9]*)+(.[0-9]{1,2})?$
 1-2         :^(\-)?\d+(\.\d{1,2})?$
  、  、   :^(\-|\+)?\d+(\.\d+)?$
         :^[0-9]+(.[0-9]{2})?$
 1~3       :^[0-9]+(.[0-9]{1,3})?$
      :^[1-9]\d*$   ^([1-9][0-9]*){1,3}$   ^\+?[1-9][0-9]*$
      :^\-[1-9][]0-9"*$   ^-[1-9]\d*$
    :^\d+$   ^[1-9]\d*|0$
    :^-[1-9]\d*|0$   ^((-\d+)|(0+))$
     :^\d+(\.\d+)?$   ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
     :^((-\d+(\.\d+)?)|(0+(\.0+)?))$   ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
    :^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
    :^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$   ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
   :^(-?\d+)(\.\d+)?$   ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

三、文字を検証する式
  :^[\u4e00-\u9fa5]{0,}$
     :^[A-Za-z0-9]+$   ^[A-Za-z0-9]{4,40}$
   3-20     :^.{3,20}$
 26           :^[A-Za-z]+$
 26             :^[A-Z]+$
 26             :^[a-z]+$
    26           :^[A-Za-z0-9]+$
   、26                :^\w+$   ^\w{3,20}$
  、  、       :^[\u4E00-\u9FA5A-Za-z0-9_]+$
      ^%&',;=?$\"   :[^%&',;=?$\x22]+
      ~   :[^~\x22]+

四、特殊需要表現
Email  :^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
  :[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
InternetURL:[a-zA-z]+://[^\s]*   ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
    :^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
    ("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX" "XXXXXXXX):^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$ 
      (0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}
    (15 、18   ):^\d{15}|\d{18}$
      (  、  x  ):^([0-9]){7,18}(x|X)?$   ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
      (    ,  5-16  ,         ):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
  (     ,   6~18  ,      、      ):^[a-zA-Z]\w{5,17}$
   (               ,        ,   8-10  ):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$  
    :^\d{4}-\d{1,2}-\d{1,2}
   12  (01~09 1~12):^(0?[1-9]|1[0-2])$
    31 (01~09 1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$ 
xml  :^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
          :[\u4e00-\u9fa5]
     :[^\x00-\xff]    (      ,            (          2,ASCII   1))
         :
\s*\r ( ) HTML :]*>.*?\1>|<./> ( , , ) :^\s*|\s*$ (^\s*)|(\s*$) ( ( 、 、 ), ) QQ :[1-9][0-9]{4,} ( QQ 10000 ) :[1-9]\d{5}(?!\d) ( 6 ) IP :\d+\.\d+\.\d+\.\d+ ( IP ) IP :((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)) : 1. :"10000.00" "10,000.00", " " "10000" "10,000":^[1-9][0-9]*$ 2. 0 , , "0" , :^(0|[1-9][0-9]*)$ 3. 0 0 . :^(0|-?[1-9][0-9]*)$ 4. 0 0 . 0 . , . :^[0-9]+(.[0-9]+)?$ 5. , 1 , "10." , "10" "10.2" :^[0-9]+(.[0-9]{2})?$ 6. , , :^[0-9]+(.[0-9]{1,2})?$ 7. . , :^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$ 8.1 3 , +3 , , :^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$ : , "+" "*" ( , ?) , ,