PHP正则匹配手机号码的问题

$pattern = '/^13\d{9}|15[0|1|2|3|5|6|7|8|9]\d{8}|18[0|2|3|5|6|7|8|9]\d{8}|14[5|7]\d{8}$/';
preg_match($pattern, $cellular, $match);
echo $pattern;
echo '<br />';
echo $cellular;
echo '<br />';
var_dump($match);
die('');

 

应该是要匹配11位的数字,但是为啥输入一个12位的可以截取前11为匹配呢?


慕仙森
浏览 567回答 2
2回答

神不在的星期二

'/^(?:13\d{9}|15[0|1|2|3|5|6|7|8|9]\d{8}|18[0|2|3|5|6|7|8|9]\d{8}|14[5|7]\d{8})$/';

猛跑小猪

不会正则,可以在正则验证之前对位数进行一下判断,超出就直接返回错误.
打开App,查看更多内容
随时随地看视频慕课网APP