我使用这个正则表达式来验证电话号码:
^(\\([2-9]\\d{2}\\)|[2-9]\\d{2})[- ]?\\d{3}[- ]?\\d{4}$但是,当我测试任何不带破折号或空格的10位电话号码(例如4042128246 )的输入时,该号码不匹配。
如何改进此正则表达式以接受此输入?谢谢。
发布于 2011-06-17 03:26:20
我建议去掉所有非数字,然后检查是否还有10个数字。考虑到这一点,你可以用一种通用的(也就是标准化的)格式存储它,然后在你的显示层中改变格式。(如果您想要显示破折号和/或括号。)
发布于 2011-06-17 03:25:35
您确定需要转义反斜杠吗?
这适用于我在.NET环境中的工作:
^(\([2-9]\d{2}\)|[2-9]\d{2})[- ]?\d{3}[- ]?\d{4}$发布于 2011-06-17 03:25:57
当我在JavaScript中尝试它时,它是匹配的。也许这是因为您使用的语言不支持所有相同的选项。
https://stackoverflow.com/questions/6377350
复制相似问题