从现有手机号中查找到规律是:
第一位是[1] 开头, 第二位则有[3,4,5,7,8] , 第三位则是[0-9] , 第三位之后则是数字[0-9] . 从而我们可以得出一个符合当前的手机号码验证正则表达式.
^1(3|4|5|7|8)\d{9}$ 或者 ^1[34578]\d{9}$
原来正则里面的中括号 [] 只能匹配其中一个, 如果要匹配特定几组字符串的话, 那就必须使用小括号 () 加或 |, 我还以为在中括号中也能使用或 | 符号, 原来 | 在中括号里面也是一个字符, 并不代表或.[3457]匹配 3 或者 4 或者 5 或者 7, 而 (3457) 只匹配 3457, 若要跟前面一样可以加或 (3|4|5|7).[34|57] 匹配 3 或者 4 或者 | 或者 5 或者 7. 而 (34|57) 能匹配 34 或者 57.
来源: http://www.bubuko.com/infodetail-2968207.html