验证,正则表达式允许一些字符

时间:2013-10-24 05:04:29

标签: regex

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

1 个答案:

答案 0 :(得分:1)

我建议您查看Perl's RegEx tutorialwww.regular-expressions.info,以便更好地了解RegEx。 您提供的模式(即使语法更正)不适合您的情况(电话号码),因为它匹配78,(-34等字符串。

编写正确的RegEx的第一步是了解您需要的模式。对于您的情况,您必须考虑与电话号码匹配的不同字符串。一些例子:

匹配度:

(500)-8764531
500-8764531
(+9821)-76787600
76787600,01

不匹配

(500)-876453187645318764531
500,8764531
(+9821-76787600
76787600,01)

下一步是构建一个与这些模式匹配的RegEx。之后,您必须使用不同的边界情况测试您的模式,如果需要,再次执行前面的步骤。