Javascript Regex - 用于验证电话号码的用途?

use*_*340 9 javascript regex validation whitespace phone-number

任何人都可以告诉我RegEx将用于验证国际电话号码,包括号码之间的空格,以及允许这些字符:- ( ).

字符串中的数字量不是太重要,我希望用户能够键入类似示例1或2的内容,如果他们愿意:

例:

  1. +44 (0) 207 111 1111

  2. 442071111111

我已经阅读并根据我的理解测试了一些类似问题的已发布答案,但到目前为止,他们都没有按我希望的方式为我工作.

请有人帮我解释一下如何编写上述内容以进行验证吗?

非常感谢任何可以提供帮助的人.

Sag*_*ara 14

<input type="text" id="phone"/>
Run Code Online (Sandbox Code Playgroud)

  • 我的电话号码是"112",你的正则表达式声称它不正确. (2认同)

vap*_*guy 13

请参阅电话号码验证的综合正则表达式

快速备忘单

  • 开始表达式: /^
  • 如果您想要一个空格,请使用: [\s]\s
  • 如果要要求括号,请使用: [(][)].使用\(\)丑陋,可以使事情混乱.
  • 如果你想要任何东西是可选的,?那就把它放在后面
  • 如果你想要一个连字符,只需键入-[-].但是,如果你不把它放在一系列其他角色的第一个或最后一个,你可能需要逃避它: \-
  • 如果要在插槽中接受不同的选项,请在选项周围添加括号:[-.\s]将需要连字符,句点或空格.最后一个括号后面的问号将使该插槽的所有选项都成为可选项.
  • \d{3}:需要一个3位数字:000-999.简写 [0-9][0-9][0-9].
  • [2-9] :要求该插槽的数字2-9.
  • (\+|1\s)?:接受"加号"或1和空格(管道符号|,是"或"),并使其成为可选项.必须转义"加号"标志.
  • 如果您希望特定数字与插槽匹配,请输入:[246]需要2,4或6. [77|78]将需要77或78.
  • $/ :结束表达


Ism*_*uel 9

这是一个很长的正则表达式,但它支持两种格式(例如2是一个有效的国际号码,必须以+或00开头):

/^(?:(?:\(?(?:00|\+)([1-4]\d\d|[1-9]\d?)\)?)?[\-\.\ \\\/]?)?((?:\(?\d{1,}\)?[\-\.\ \\\/]?){0,})(?:[\-\.\ \\\/]?(?:#|ext\.?|extension|x)[\-\.\ \\\/]?(\d+))?$/i
Run Code Online (Sandbox Code Playgroud)

这允许扩展和多种格式和分隔符的选择.

火柴:

  • (+351)282 43 50 50
  • 90191919908
  • 555-8909
  • 001 6867684
  • 001 6867684x1
  • 1(234)567-8901
  • 1-234-567-8901 x1234
  • 1-234-567-8901 ext1234
  • 1-234 567.89/01 ext.1234
  • 1(234)5678901x1234
  • (123)8575973
  • (0055)(123)8575973

在$ n上,它可以节省:

  1. 国家指标
  2. 电话号码
  3. Extention

这里给出了同样的答案:电话号码验证的全面正则表达式(直接链接到我的答案)