我正在尝试验证一个电话号码,它应该只包含带有一些特殊字符的数字,例如()
,
-
. 我尝试了以下/^[0-9,()-]+$/
方法,但显示错误。特殊字符是可选的,除了那些特殊字符和数字是不允许的。
问问题
186 次
1 回答
1
我建议您查看Perl 的 RegEx 教程和www.regular-expressions.info以更好地了解 RegEx。
您提供的模式(即使语法更正)不适合您的情况(电话号码),因为它匹配字符串,如78,(-34
.
编写正确 RegEx 的第一步是了解您需要的模式。对于您的情况,您必须考虑将匹配为电话号码的不同字符串。一些例子:
匹配:
(500)-8764531
500-8764531
(+9821)-76787600
76787600,01
没有匹配
(500)-876453187645318764531
500,8764531
(+9821-76787600
76787600,01)
下一步是构建一个匹配这些模式的 RegEx。之后,您必须使用不同的边界情况测试您的模式,如果需要,请再次执行前面的步骤。
于 2013-10-24T06:06:15.610 回答