php常用的正則匹配

php常用的正則匹配

匹配手機號碼

function pregPN($test){  
    /** 
        匹配手機號碼 
        規(guī)則: 
            手機號碼基本格式: 
            前面三位為: 
            移動:134-139 147 150-152 157-159 182 187 188 
            聯(lián)通:130-132 155-156 185 186 
            電信:133 153 180 189 
            后面八位為: 
            0-9位的數(shù)字 
    */  

    $rule  = "/^((13[0-9])|147|(15[0-35-9])|180|182|(18[5-9]))[0-9]{8}$/A";  
    preg_match($rule,$test,$result);  
    return $result;  
} 

匹配郵箱

function pregE($test){  
    /** 
    匹配郵箱 
    規(guī)則: 
        郵箱基本格式是  *****@**.** 
        @以前是一個 大小寫的字母或者數(shù)字開頭,緊跟0到多個大小寫字母或者數(shù)字或 . _ - 的字符串 
        @之后到.之前是 1到多個大小寫字母或者數(shù)字的字符串 
        .之后是 1到多個 大小寫字母或者數(shù)字或者.的字符串 
    */  
    $zhengze = '/^[a-zA-Z0-9][a-zA-Z0-9._-]*\@[a-zA-Z0-9]+\.[a-zA-Z0-9\.]+$/A';  
    preg_match($zhengze,$test,$result);  
    return $result;  
}  

電話號碼匹配

function pregTP($test){  
/** 
電話號碼匹配 
電話號碼規(guī)則: 
    區(qū)號:3到5位,大部分都是四位,北京(010)和上海市(021)三位,西藏有部分五位,可以包裹在括號內(nèi)也可以沒有 
    如果有區(qū)號由括號包裹,則在區(qū)號和號碼之間可以有0到1個空格,如果區(qū)號沒有由括號包裹,則區(qū)號和號碼之間可以有兩位長度的 或者- 
    號碼:7到8位的數(shù)字 
    例如:(010) 12345678  或者 (010)12345678 或者 010  12345678 或者 010--12345678  
*/  
$rule = '/^(((010)|(021)|(0\d{3,4}))( ?)([0-9]{7,8}))|((010|021|0\d{3,4}))([- ]{1,2})([0-9]{7,8})$/A';  
preg_match($rule,$test,$result);  
return $result;  

}

匹配url

function pregURL($test){  
    /** 
        匹配url 
        url規(guī)則: 
            例 
            協(xié)議://域名(www/tieba/baike...).名稱.后綴/文件路徑/文件名 
            http://zhidao.baidu.com/question/535596723.html 
            協(xié)議://域名(www/tieba/baike...).名稱.后綴/文件路徑/文件名?參數(shù) 
            www.lhrb.com.cn/portal.php?mod=view&aid=7412 
            協(xié)議://域名(www/tieba/baike...).名稱.后綴/文件路徑/文件名/參數(shù) 
            http://www.xugou.com.cn/yiji/erji/index.php/canshu/11 

            協(xié)議:可有可無,由大小寫字母組成;不寫協(xié)議則不應(yīng)存在://,否則必須存在:// 
            域名:必須存在,由大小寫字母組成 
            名稱:必須存在,字母數(shù)字漢字 
            后綴:必須存在,大小寫字母和.組成 
            文件路徑:可有可無,由大小寫字母和數(shù)字組成 
            文件名:可有可無,由大小寫字母和數(shù)字組成 
            參數(shù):可有可無,存在則必須由?開頭,即存在?開頭就必須有相應(yīng)的參數(shù)信息 
    */  
    $rule = '/^(([a-zA-Z]+)(:\/\/))?([a-zA-Z]+)\.(\w+)\.([\w.]+)(\/([\w]+)\/?)*(\/[a-zA-Z0-9]+\.(\w+))*(\/([\w]+)\/?)*(\?(\w+=?[\w]*))*((&?\w+=?[\w]*))*$/';  
    preg_match($rule,$test,$result);  
    return $result;  
}  

匹配身份證號

function pregIC($test){  
    /** 
    匹配身份證號 
    規(guī)則: 
        15位純數(shù)字或者18位純數(shù)字或者17位數(shù)字加一位x 
    */  
    $rule = '/^(([0-9]{15})|([0-9]{18})|([0-9]{17}x))$/';         
    preg_match($rule,$test,$result);  
    return $result;  
}  

匹配郵編

function pregPOS($test){  
/** 
    匹配郵編 
    規(guī)則:六位數(shù)字,第一位不能為0 
*/  
    $rule ='/^[1-9]\d{5}$/';  
    preg_match($rule,$test,$result);  
    return $result;  
}  

匹配ip

function pregIP($test){  
    /** 
    匹配ip 
    規(guī)則: 
        **1.**2.**3.**4 
        **1可以是一位的 1-9,兩位的01-99,三位的001-255 
        **2和**3可以是一位的0-9,兩位的00-99,三位的000-255 
        **4可以是一位的 1-9,兩位的01-99,三位的001-255 
        四個參數(shù)必須存在 
    */  
    $rule = '/^((([1-9])|((0[1-9])|([1-9][0-9]))|((00[1-9])|(0[1-9][0-9])|((1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))))\.)((([0-9]{1,2})|(([0-1][0-9]{2})|(2[0-4][0-9])|(25[0-5])))\.){2}(([1-9])|((0[1-9])|([1-9][0-9]))|(00[1-9])|(0[1-9][0-9])|((1[0-9]{2})|(2[0-4][0-9])|(25[0-5])))$/';  
    preg_match($rule,$test,$result);  
    return $result;  
}  

匹配時間

function pregTI($test){  
    /** 
    匹配時間 
        規(guī)則: 
            形式可以為: 
            年-月-日 小時:分鐘:秒 
            年-月-日 小時:分鐘 
            年-月-日 
            年:1或2開頭的四位數(shù) 
            月:1位1到9的數(shù);0或1開頭的兩位數(shù),0開頭的時候個位數(shù)是1到9的數(shù),1開頭的時候個位數(shù)是1到2的數(shù) 
            日:1位1到9的數(shù);0或1或2或3開頭的兩位數(shù),0開頭的時候個位數(shù)是1到9的數(shù),1或2開頭的時候個位數(shù)是0到9的數(shù),3開頭的時候個位數(shù)是0或1 
            小時:0到9的一位數(shù);0或1開頭的兩位數(shù),個位是0到9;2開頭的兩位數(shù),個位是0-3 
            分鐘:0到9的一位數(shù);0到5開頭的兩位數(shù),個位是0到9; 
            分鐘:0到9的一位數(shù);0到5開頭的兩位數(shù),各位是0到9 
    */  
    $rule ='/^(([1-2][0-9]{3}-)((([1-9])|(0[1-9])|(1[0-2]))-)((([1-9])|(0[1-9])|([1-2][0-9])|(3[0-1]))))( ((([0-9])|(([0-1][0-9])|(2[0-3]))):(([0-9])|([0-5][0-9]))(:(([0-9])|([0-5][0-9])))?))?$/';  
    preg_match($rule,$test,$result);  
    return $result;  
} 

匹配中文

function pregCh($test){  
    //utf8下匹配中文  
    $rule ='/([\x{4e00}-\x{9fa5}]){1}/u';  
    preg_match_all($rule,$test,$result);  
    return $result;  
}  
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 吹了10分鐘冷風(fēng),總算盼來了滴滴師傅。 一肚子牢騷未來得及發(fā),師傅扭過頭來搶先道歉:“抱歉,剛才……誒?是你啊!”...
    高小魚兒閱讀 243評論 0 2
  • 打包工具 https://blog.bluerain.io/p/Golang-Glide.html import ...
  • 越長大越孤單。 又或許,其實都是孤單的成長,并沒有所謂的越。 如果是越長大越孤單,說明可能曾經(jīng)不孤單。
    君曉墨閱讀 157評論 0 0
  • 器識為先,文藝其從,立德立言,無問西東。 孰紹介是,吾校之功,同仁一視,泱泱大風(fēng)。 ...
    南塵三閱讀 727評論 2 3
  • 現(xiàn)在多數(shù)企業(yè)高檔人群在職業(yè)裝定制時,往往會選擇比較高檔的面料,而面料的選擇人們會比較傾向精仿的面料。精仿的面料會比...
    五洲之星閱讀 390評論 0 1

友情鏈接更多精彩內(nèi)容