英国和爱尔兰电话号码的正则表达式

时间:2015-05-20 10:33:04

标签: javascript jquery regex validation

我一直在网上查看各种regex的电话号码验证。当然有数百种不同的例子,因为有数百种不同格式的电话号码......

我决定自己写自己有两个原因。

  1. 我想了解有关正则表达式的更多信息
  2. 我遇到的那些不符合我的需要
  3. 但是,我有几个问题,我想知道你们中的一些人可能会帮助我清理,以使我的正则表达更好。

    我正在寻找的数字格式如下:

    • 必须以+353或+44
    • 开头
    • 后跟数字0 - 9
    • 在数字之间包含空格的能力

    目前我有这个:

    ([+][353]{3})[\d\s]{7,11}|([+][44]{2})[\d\s]{7,11}
    

    这使我能够以如下格式输入数字:

    + 353xxxxxxx或+ 44xxxxxxx

    我遇到的问题是它正在计算{7,11}中的空格,因此如果有人进入:

    +353 xxx xxx xxx它不会验证

    我正试图找出一种方法,我可以在任何数字0 - 9之间留出空格,但将数字限制为11。

    所以有可能有人可以出现并输入这个数字:

    +353 12 34 56 78

    非常感谢任何帮助。

1 个答案:

答案 0 :(得分:6)

  

我想要的数字格式如下:

     

必须以+353或+44开头   数字0 - 9   能够在数字之间包含空格

这很简单:

\+(353|44)(\s*\d)+

作为一项改进,您可能需要在国际前缀后面的某个数字范围。例如:

^\+(353|44)(\s*\d){9,12}$

将匹配+44+353,后跟9到12位数字(带可选空格)。 ^$匹配字符串的开头和结尾,因此数字开头或结尾的其他字符将导致匹配失败。