我们将用正则表达式来匹配手机号码,我们先分析一下手机号码的编码规则:
1. 手机号都是11位的
2. 手机号码均为1开头
3. 第二个数字目前有34578这几个数字,后面会不会增加1、2、6、9,我只能说很有可能,程序猿就是苦逼!
php用正则表达式判断手机号码的写法
$g = "/^1[34578]\d{9}$/";
// "^"符号表示必须是1开头; "[ ]"的意思是第二个数字必须是中括号中一个数字; 而 \d 则表示0-9任意数字,后跟{9}表示长度是9个数字; 后面的$表示结尾; 开始和结尾的 / 是正则表达式必须放在这个中间, 有的后面可能还跟模式.
举例:
1、从一段文本中提取出所有的手机号码
$str = '我的手机号码13800001111,你的手机号码18900009999,他的手机号码17710101212';
preg_match_all("/^1[34578]\d{9}$/", $str, $mobiles);
var_dump($mobiles);$phonenumber = '13712345678';
if(preg_match("/^1[345678]{1}\d{9}$/",$phonenumber)){
echo "是手机号码";
}else{
echo "不是手机号码";
}