首页 > 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是mezongzi@qq.com 
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位"; 
} 
/* 
* 虽然看起来复杂点,清楚理解! 
* 如果有更好的,可以贴出来,分享快乐! 
* */ 

本文地址:http://www.phprm.com/base/39328.html

转载随意,但请附上文章地址:-)

标签:正则表达式 preg_match

相关文章

发表留言