我正在尝试用正则表达式创建一个javascript函数,这将验证一个电话号码 .
规则是:
1.仅限数字 . 2.超过10个数字 . 3.允许破折号( - )(可选) .
首先,我尝试了这个:
function validatePhone(phone) {
var phoneReg = /[0-9]{10,}/;
return (phoneReg.test(phone));
}
它只适用于前两个规则,但不适用于破折号 .
然后我尝试了 var phoneReg = /[-0-9]{10,}/;
甚至 var phoneReg = [\d]+\-?[\d]+
,但随后javascript被打破了......
有什么想法吗 ?
2 回答
这是我接近电话号码验证的方式:
这应该工作 . 需要转义
-
字符 .这个潜在的问题是,即使字符串中没有10个数字,具有多个破折号的字符串也会测试为正数 . 我建议在测试前更换破折号 .