Javascript 英国电话号码的正则表达式-所有合理选项的变体
所以,在一些用户困惑之后,我需要为所有你能想到的电话号码变化调整一个正则表达式 我目前有以下正则表达式:Javascript 英国电话号码的正则表达式-所有合理选项的变体,javascript,regex,Javascript,Regex,所以,在一些用户困惑之后,我需要为所有你能想到的电话号码变化调整一个正则表达式 我目前有以下正则表达式: ^[+]?[-\s.]?[(]?[0-9]{3}[)]?[-\s.]?[0-9]{3}[-\s.]?[0-9]{4,6}$ 它匹配得相当好,但我希望能够将其与以下变体匹配: +4401726400480 +441726400480 +4401726400480 +441726400480 01726400480 01726400480 N.B.我知道之前也有人问过类似的问题,但我觉得
^[+]?[-\s.]?[(]?[0-9]{3}[)]?[-\s.]?[0-9]{3}[-\s.]?[0-9]{4,6}$
它匹配得相当好,但我希望能够将其与以下变体匹配:
- +4401726400480
- +441726400480
- +4401726400480
- +441726400480
- 01726400480
- 01726400480
^\+?(?:[- .]?\d{2})?[- .]?\d{4,5}[- .]?\d{3}[- .]?\d{3}$
请注意,[0-9]
简化为\d
,其中只有一个字符的字符集简化为该字符。另外请注意,如果只想匹配文字空间,则使用文字空间比使用\s
更可靠—否则,其他空白字符(如换行符)也会匹配,这可能是不可取的
详情:
-可选加号\+?
-可选前导两位数字(?:[-.]?\d{2})
-四位或五位数字[-.]?\d{4,5}
-六位数字,可能由字符分隔[-.]?\d{3}[-.]?\d{3}
^\+?(?:[- .]?\d{2})?[- .]?\d{4,5}[- .]?\d{3}[- .]?\d{3}$
请注意,[0-9]
简化为\d
,其中只有一个字符的字符集简化为该字符。另外请注意,如果只想匹配文字空间,则使用文字空间比使用\s
更可靠—否则,其他空白字符(如换行符)也会匹配,这可能是不可取的
详情:
-可选加号\+?
-可选前导两位数字(?:[-.]?\d{2})
-四位或五位数字[-.]?\d{4,5}
-六位数字,可能由字符分隔[-.]?\d{3}[-.]?\d{3}
- 您可以尝试以下方法
^[+]?[-\s.]?[(]?[0-9]{2,3}?[)]?[-\s.]([0-9]{3,4})?[-\s.]?[0-9]{3,6}[-\s.]?[0-9]{3,6}$
您可以尝试以下方法
^[+]?[-\s.]?[(]?[0-9]{2,3}?[)]?[-\s.]([0-9]{3,4})?[-\s.]?[0-9]{3,6}.[-\s.][0-9]{3,6}$
@AndrewMorton没有听起来好战,我不认为这是重复的,因为我在其他问题上看到的比赛并不涵盖所有没有听起来好战的边远案件。@bruent,我不认为这是重复的,因为我在其他问题上看到的比赛并没有涵盖所有边远的案件。@AndrewMorton没有听起来好战,我不认为这是重复的,因为我在其他问题上看到的比赛并没有涵盖所有边远的案件。@Cerburs没有听起来好战,我不认为这是重复的,因为我在其他问题上看到的匹配并没有涵盖所有的外围情况。像一个符咒一样工作-感谢上帝为你们regex专家!)工作起来很有魅力——感谢老天爷为你们这些正则表达式专家