手機號碼格式Regex

來源:互聯網
上載者:User

手機號碼格式Regex

匹配國內電話號碼:d{3}-d{8} ¦d{4}-d{7}   
評註:匹配形式如 0511-4405222 或 021-87888822   

前端代碼我使用jquery.validate.js,代碼如下:
 

JavaScript代碼

<script type="text/css教程">   
$(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教程
//Regex
$tel = "15551530459";//作者的手機號碼,如果有疑問可以電話聯絡我,我的郵箱是admin@www.3ppt.com
if(strlen($tel) == "11")
{
//上面部分判斷長度是不是11位
$n = preg_match_all("/13[123569]{1}d{8}|15[1235689]d{8}|188d{8}/",$tel,$array);
/*接下來的Regex("/131,132,133,135,136,139開頭隨後跟著任意的8為數字 '|'(或者的意思)
* 151,152,153,156,158.159開頭的跟著任意的8為數字
* 或者是188開頭的再跟著任意的8為數字,匹配其中的任意一組就通過了
* /")*/

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

其它參考
匹配騰訊QQ號:[1-9][0-9]{4,}   
評註:騰訊QQ號從10000開始   
  
匹配中國郵遞區號:[1-9]d{5}(?!d)   
評註:中國郵遞區號為6位元字   
  
匹配身份證:d{15} ¦d{18}   
評註:中國的身份證為15位或18位   
  
匹配ip地址:d+.d+.d+.d+   
評註:提取ip地址時有用   
  
匹配特定數字:   
^[1-9]d*$    //匹配正整數   
^-[1-9]d*$   //匹配負整數   
^-?[1-9]d*$   //匹配整數   
^[1-9]d* ¦0$  //匹配非負整數(正整數 + 0)   
^-[1-9]d* ¦0$   //匹配非正整數(負整數 + 0)   
^[1-9]d*.d* ¦0.d*[1-9]d*$   //匹配正浮點數   
^-([1-9]d*.d* ¦0.d*[1-9]d*)$  //匹配負浮點數   
^-?([1-9]d*.d* ¦0.d*[1-9]d* ¦0?.0+ ¦0)$  //匹配浮點數   
^[1-9]d*.d* ¦0.d*[1-9]d* ¦0?.0+ ¦0$   //匹配非負浮點數(正浮點數 + 0)   
^(-([1-9]d*.d* ¦0.d*[1-9]d*)) ¦0?.0+ ¦0$  //匹配非正浮點數(負浮點數 + 0)   
評註:處理大量資料時有用,具體應用時注意修正   
  
匹配特定字串:   
^[A-Za-z]+$  //匹配由26個英文字母組成的字串   
^[A-Z]+$  //匹配由26個英文字母的大寫組成的字串   
^[a-z]+$  //匹配由26個英文字母的小寫組成的字串   
^[A-Za-z0-9]+$  //匹配由數字和26個英文字母組成的字串   
^w+$  //匹配由數字、26個英文字母或者底線組成的字串   
評註:最基本也是最常用的一些運算式   

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.