程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中手機號碼驗證的正則表達式

php中手機號碼驗證的正則表達式

編輯:關於PHP編程

收藏了二款手機號碼驗證的代碼,一是前台用jquery驗證再用後台php教程代碼來驗證手機號是否合法,希望對大家有用。
前端代碼我使用jquery.validate.js,代碼如下:
 

JavaScript代碼

<script type="text/網頁特效">   
$(document).ready(function() {   
    $("#smForm").validate({   
        rules: {   
                smMobilePhone: {   
                    required: true,   
                    digits:true,   
                    range:[13000000000,18999999999]   
                }   
        },   
        messages: {   
            smMobilePhone: {   
                    required: "您沒有填寫手機號碼",   
                    digits: "手機號碼格式不對",   
                    range: "手機號長度或者格式不對",   
                }   
        },   
        preErrs : {   
               
        }   
    });   
});   
</script>  

 這只是一個不精確的驗證,只能大概驗證到一個范圍而已,所以重點還在後面。

PHP代碼

$mobilephone=trim($_POST["smMobilePhone"]);   
//手機號碼的正則驗證   
if(preg_match("/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/",$mobilephone)){   
    //驗證通過   
       
}else{   
    //手機號碼格式不對   
       

 

看實例

<?php
//正則表達式
$tel = "15558530459";//作者的手機號碼,如果有疑問可以電話聯系我,或者QQ聯系我,我的QQ是[email protected]
if(strlen($tel) == "11")
{
//上面部分判斷長度是不是11位
$n = preg_match_all("/13[123569]{1}d{8}|15[1235689]d{8}|188d{8}/",$tel,$array);
/*接下來的正則表達式("/131,132,133,135,136,139開頭隨後跟著任意的8為數字 '|'(或者的意思)
* 151,152,153,156,158.159開頭的跟著任意的8為數字
* 或者是188開頭的再跟著任意的8為數字,匹配其中的任意一組就通過了
* /")*/

var_dump($array); //看看是不是找到了,如果找到了,就會輸出電話號碼的
}else
{
echo "長度必須是11位";
}
/*
* 雖然看起來復雜點,清楚理解!
* 如果有更好的,可以貼出來,分享快樂!
* */
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved