-1

我正在尝试验证一个电话号码,它应该只包含带有一些特殊字符的数字,例如() , -. 我尝试了以下/^[0-9,()-]+$/方法,但显示错误。特殊字符是可选的,除了那些特殊字符和数字是不允许的。

4

1 回答 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 回答