我正在尝试写一个正则表达式来验证美国电话号码的格式(123)123-1234 - 真123-123-1234 - 是的
其他一切都无效.
我想出了类似的东西
^\(?([0-9]{3}\)?[-]([0-9]{3})[-]([0-9]{4})$
Run Code Online (Sandbox Code Playgroud)
但这证实了,123)-123-1234(123-123-1234
这是不对的.
rua*_*akh 57
匹配两者的最简单方法
^\([0-9]{3}\)[0-9]{3}-[0-9]{4}$
Run Code Online (Sandbox Code Playgroud)
和
^[0-9]{3}-[0-9]{3}-[0-9]{4}$
Run Code Online (Sandbox Code Playgroud)
是使用alternation((...|...)):将它们指定为两个主要分开的选项:
^(\([0-9]{3}\)|[0-9]{3}-)[0-9]{3}-[0-9]{4}$
Run Code Online (Sandbox Code Playgroud)
顺便说一句,当美国人把区号放在括号中时,我们实际上在那之后放了一个空格; 例如,我写(123) 123-1234,不是(123)123-1234.所以你可能想写:
^(\([0-9]{3}\) |[0-9]{3}-)[0-9]{3}-[0-9]{4}$
Run Code Online (Sandbox Code Playgroud)
(尽管最好明确说明您希望电话号码所在的格式.)
| 归档时间: |
|
| 查看次数: |
96526 次 |
| 最近记录: |