我正在尝试验证一个电话号码,该号码只应包含一些特殊字符,例如()
,
-
。我尝试了以下/^[0-9,()-]+$/
,但它显示错误。特殊字符是可选的,除了那些特殊字符和数字是不允许的。
答案 0 :(得分:1)
我建议您查看Perl's RegEx tutorial和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。之后,您必须使用不同的边界情况测试您的模式,如果需要,再次执行前面的步骤。