[英]Regex pattern for Validating phone number
我有一个输入字符串(“我的电话号码是860-678-2345”)。 从输入字符串中,我需要使用Regex验证电话号码。
我正在使用以下模式,但是如果电话号码中包含空格,则该模式将不起作用。
[(]?[2-9]{1}[0-9]{2}[)-. ,]?[2-9]{1}[0-9]{2}[-. ,]?[0-9]{4}
谢谢。
以下正则表达式:
(\([2-9]\d\d\)|[2-9]\d\d) ?[-.,]? ?[2-9]\d\d ?[-.,]? ?\d{4}
符合以下所有条件:
860-678-2345
(860) 678-2345
(860) 678 - 2345
可能还有很多其他的。 细分:
(\\([2-9]\\d\\d\\)|[2-9]\\d\\d)
-匹配数字的第一部分,带或不带括号 ?[-.,]? ?
-连字符,句号(或对我们英国人来说是句号)或逗号,带或不带周围的空格。 [2-9]\\d\\d
匹配数字的第二部分。 \\d{4}
-匹配数字的最后部分。 \\d\\d
和[0-9]{2}
是等效的; 前者稍短一些,因此提高了可读性。 同样, [2-9]
和[2-9]{1}
是等效的; {1}
仅表示“先前模式的一个实例”,无论如何都是给定的。
您可以在分离的字符之前和之后分别检查空格。
[(]?[2-9]{1}[0-9]{2}[ ]?[)-.,]?[ ]?[2-9]{1}[0-9]{2}[ ]?[-.,]?[ ]?[0-9]{4}
请记住,这实际上不会匹配括号,因此类似(234-567, 1234
匹配。因此,如果您想要更严格的匹配,则将需要更复杂的正则表达式或使用其他代码来编写验证。
最好的办法是先去除所有空白,然后,您可以轻松地使用已完成的RE验证您的数字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.