在我的应用程序中,我很难获得正确的电话号码验证的正则表达式。我有一个只接受数字和一些特殊符号(如()-等)的正则表达式,但问题是它也只接受符号。例如,它会接受类似于()()()()的东西。我想要修改正则表达式,或者得到一个接受这些符号的全新正则表达式,但是它应该在每个符号之前和之后至少有一个数字。
我的要求是:
<代码>G 211
发布于 2011-10-21 03:02:46
在我的经验中,括号只出现在第一组数字周围,并且一个组中不少于3位数。这个正则表达式可以做到这一点,并且防止多个连续的分隔符,除了paren "(123) 456-7890“后面的空格。我还增加了对作为分离器的时期的支持。它允许1,2,或3组数字,并试图强制执行7-15位数的总体范围,但它在允许的方面出错。
^\\s*(\\d{7,15})||(\\d{3,12}[\\-.]?\\s?\\d{3,12}[\\-.\\s]?)||([(]?\\d{3,9}[)\\-.]?\\s?\\d{3,9}[\\-.\\s]?\\d{3,9})\\s*在我的环境中,我必须避免反斜杠--您可能不必这样做,所以可能需要用\替换。必须转义连字符,因为在这种情况下,它代表一个范围。
https://stackoverflow.com/questions/7842380
复制相似问题