/**
* 匹配手机号码
* 1 3
* 0123456789
* 4
* 57
* 5
* 0123456789
* 7
* 8
**/
$number = '13956789032';
$pattern = '/1(3\d|4\[57]|5\d|7[01]|8\d)\d{8}/';
if(preg_match($pattern ,$number ,$arr)){
var_dump($arr);
回复讨论(解决方案)
so ,你遇到什么问题了?
手机号11位数字,简单点的就是\d{11}
如果要更加严谨,那就判断手机号的前缀。
但你这个正则已经很好了,可以判断到 15X 13X 18X 其它的没有了什么好的建议了。
有没有更加完整的验证,说思路就行