Heim >Backend-Entwicklung >PHP-Tutorial >php如何对手机号码进行验证_PHP教程

php如何对手机号码进行验证_PHP教程

WBOY
WBOYOriginal
2016-07-13 16:57:431002Durchsuche

验证手机号码我们都是利用php正则表达试验证了,手机号的规则是长度11位然后是13,15,18等等开头,这个我们只要加以分类规划并可实现完美手机号码验证正则了。

大家都应该有这个常识,中国的手机号码都是以数字“1”开头,然后利用“0~9”10个数字组成的11位

数字组合,那么我们的验证规则肯定要根据这个思路来写。
根据上面的简单思路,我们便可以写下以下的验证代码:

 代码如下 复制代码

        //本代码仅仅是提供一些思路  
    //距离实际应用还有一些距离  
     $mobile = '15858588585';  
    //下面的1便是手机的第一位数字必须为数字1  
    //[0-9]指后面的数字均为0~9的数字  
    //{9}这中间的9指的是手机号码除了第一位数外,其他要重复10次,刚好就是11位数了  
    if(!preg_match('/^1([0-9]{9})/',$mobile)) exit('您的手机号码不正确');  
    ?> 

但上面的代码显然是不够严谨的,因为这样,即使“18888888888”这样的手机号码也能通过验证了,因

此我们还要对其进行更为严格的验证,在严格之前请让我们先来看看中国常见的手机号码前三位都有那

些:

    移动手机号码:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188  
    联通手机号码:130、131、132、152、155、156、185、186  
    电信手机号码:133、153、180、189、(1349卫通) 

那么根据上面的特征,我们就可以将代码修改成这样的规则了:

 代码如下 复制代码

         function checkMobile($str)
     {
         $pattern = “/^(13|15)d{9}$/”;
         if (preg_match($pattern,$str))
         {
              Return true;
         }
         else
         {
             Return false;
         }
     }
    //调用函数
    $str = checkMobile(“15800000001″);
     if($str)
     {
     echo(“符合手机号码标准”);
     }
     else
     {
     echo(“不符合手机号码标准”);
     }
    ?>

上面只能骓13,15开头的,如果有新段就不行了,我们可加以修改

 代码如下 复制代码

    function is_mobile($str){  
    return preg_match("/^(((d{3}))|(d{3}-))?13d{9}$/", $str);  
    } 

这样就可以验证所有的手机号码了。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/631504.htmlTechArticle验证手机号码我们都是利用php正则表达试验证了,手机号的规则是长度11位然后是13,15,18等等开头,这个我们只要加以分类规划并可实现完...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn