当前位置:编程学习 > php >>

php判断手机号码的正则表达式带严格模式

php 正则判断是否是手机号码

用正则匹配手机号码的时候, 我们先分析一下手机号码的规律:

1. 手机号通常是11位的

2. 经常是1开头

3. 第二个数字通常是34578这几个数字


if(preg_match("/1[34578]{1}\d{9}$/",$phonenumber)){  
  
     echo "是手机号码";  
  
}else{  
  
 echo "不是手机号码";  
  
}  

php判断是不是手机号 

php用正则表达式判断手机号码的写法:
$g = "/^1[34578]{1}\d{9}$/"; 
// "^"符号表示必须是1开头; "[ ]"的意思是第二个数字必须是中括号中一个数字; 而 \d 则表示0-9任意数字,后跟{9}表示长度是9个数字; 后面的$表示结尾; 开始和结尾的 / 是正则表达式必须放在这个中间, 有的后面可能还跟模式. 
从文章中匹配出所有的手机号就可以这样写了:

$str = '博客作者的手机是18912345678';
preg_match_all("/^1[34578]{1}\d{9}$/", $str, $mobiles);
//var_dump($mobiles); 
如果要检查用户输入的手机号是否正确可这样来检查:

if(preg_match("/^1[34578]{1}\d{9}$/", $mobile)){
//这里有无限想象
}

更佳严格的匹配 php利用正则表达式实现手机号码格式验证代码

if(preg_match("/^13[0-9]{1}[0-9]{8}$|147[0-9]{8}|15[0189]{1}[0-9]{8}$|189[0-9]{8}|170[0-9]{8}$/",$mobilephone)){    
    //验证通过    
         
}else{    
    //手机号码格式不对    
         
}
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,