日期:2014-05-18  浏览次数:20409 次

正则验证电话号码 出现怪问题
帮我看个验证电话的正则   4位区号-8位电话   怎么也通过不了我无奈了
\d{3}-\d{8}|\d{4}-\d{7}|\d{11}|\d{4}-\d{8}

我的那个正则   11位手机号   3位区号-8位电话   4位区号-7位电话   都正常,唯独不能通过   4位区号-8位电话的

------解决方案--------------------
\d{3}-\d{8}|\d{4}-\d{8}|\d{11}|\d{4}-\d{7}
换个位置就行了
------解决方案--------------------
正则的特性就是好大喜功的,他只要发现有匹配的就不会再去考虑还有没有更好的匹配,他会马上就去报告。

所以 a|ab 如果用来匹配ab的话,就只会匹配到a,如果改成ab|a 匹配ab的话,就会匹配到ab