网上查了很多资料,
phone 格式 138 0013 8000
代码如下
var pNumber = phone.val().replace(/\s/g,""); if ( pNumber.length == 0 ) throw "手机号不能为空!"; if ( pNumber.length != 11 ) throw "请输入有效的手机号码!"; var result = /^(13\d|15[012356789]|166|17[01235678]|18\d|19[89])\d{8}$/.test( pNumber ); if (!result) throw "验证不通过!";
验证出来的结果 是 失败的,但是获取的手机号又是没问题的(第一句过替换了空格),请问这是为什么呢?
![]() | 1 gzlock 2019-01-22 07:39:44 +08:00 via Android 1[3-9]\d{9} 就现在的手机号复杂程度,简单点算啦 |
![]() | 2 AvenirX 2019-01-22 07:45:38 +08:00 via iPhone 正则没问题啊,是哪一句失败了? phone.val() 是什么内容? |
![]() | 3 glaucus 2019-01-22 09:10:32 +08:00 |
![]() | 4 Steps OP |
![]() | 6 Steps OP 解决了,谢谢各位,原来是 Smarty 自动把 正则的 {9}给转译了,所以无法识别! |
7 scandal 2019-01-22 14:01:34 +08:00 14 号码也有了 |