15個の正規表現(PHP版)

5946 ワード

  (js ):https://www.jianshu.com/p/1f12bf91fed1

=%#@&]{6,20}$/im';
if (!preg_match($preg_match_str, trim($sNewPassword))) {
    // status      |  info      | msg       | data     /     
    json_encode(array('status' => 1001, 'info' => '', 'msg' => '       ', 'data' => array()));
    exit;
}

// 2,       ,      ,  6 ,          ,      ,    ,      
$preg = '/^.*(?=.{6,})(?=.*\d)(?=.*[A-Z)(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/';

// 3,     

//      
$preg = '/^\d+$/';
//      
$preg = '/^-\d+$/';
//     
$preg = '/^-?\d+$/';

// 4,    .     ,       

//     
$preg = '/^\d*\.?\d+$/';
//     
$preg = '/^-\d*\.?\d+$/';
//    
$preg = '/^-?\d*\.?\d+$/';

// 5,email  
$preg = '/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/';

// 6,     
$preg = '/^(  (13[0-9])| (14[5|7]) | (15([0-3]|[5-9])) | (18[0,5-9])  )\d{8}$/';

// 7,     
$preg = '/^[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]$/';

// 8,URL  
$preg = '/^((https?|ftp|file|http):\/\/)? ([\da-z\.-]+)\.([a-z\.]{2,6})
([\/\w \.-]*)*\/?$/';

//9,IPv4  
$preg ='/^(?:(?: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]?)$/';

//10,         
$preg = '/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/';

//11.     
$preg = '/^\d{4}(\-)\d{1,2}\1\d{1,2}$/';

//      ,  
$preg = '/^(?:(?!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)$/';

//12, QQ    ,5-11 
$preg = '/^[1-9][0-9]{4,10}$/';

//13,      
$preg = '/^[a-aA-Z]([-_a-zA-Z0-9]{5,19})+$/';

//14,      
$preg = '/^[                                 A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9     ]{1}$/';

//15,    
$preg = '/[\u4E00-\u9FA5]/';



$check = '/(http|https):\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is';//httpまたはhttpのURLに合わせる
  • ユーザー名正則--
  • //     ,4 16 (  ,  ,   ,  )
    var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;
    //   true
    console.log(uPattern.test("iFat3"));
    
  • 暗号強度正則--
  • //      ,  6 ,    1     ,1     ,1   ,1     
    var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;
    //   true
    console.log("=="+pPattern.test("iFat3#"));
    
  • 整数正則-
  • //     
    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("[email protected]"));
    
  • 携帯電話番号正則--
  • //     
    var mPattern = /^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8}$/;
    //   true
    console.log(mPattern.test("18600000000"));
    
  • 身分証明書番号正則--
  • //    (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://42du.cn"));
    
  • IPv 4アドレス正則--
  • //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"));
    
  • 16進数カラー正則-
  • //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("RuilongMao"));
    
    
  • ナンバープレート正則--
  • //     
    var cPattern = /^[                                 A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9     ]{1}$/;
    //   true
    console.log(cPattern.test(" K39006"));
    
  • 中国語正則を含む--
  • //      
    var cnPattern = /[\u4E00-\u9FA5]/;
    //   true
    console.log(cnPattern.test("42 "));