验证10位数的电话号码

时间:2016-12-01 12:15:59

标签: regex

我是RegEx的新用户我正在尝试验证一个包含10位数字,+和2位数国家/地区代码的电话号码。尝试使用少量正则表达式,但我无法将+和国家/地区代码设为可选^[+]*\d[0-9]{10,12}$。谁能告诉我哪里错了。提前谢谢。

4 个答案:

答案 0 :(得分:3)

您需要使用可选的非捕获组将前两位数字括起来:

^[+]?(?:[0-9]{2})?[0-9]{10}$
     ^^^^^^^^^^^^^

请参阅regex demo

<强>详情:

  • ^ - 字符串开头
  • [+]? - 可选的+
  • (?:[0-9]{2})? - 2位数
  • 的可选序列
  • [0-9]{10} - 10位数
  • $ - 字符串结束。

答案 1 :(得分:3)

如果我理解你的问题(可选部分有点模糊),那么给定的答案都不能达到你想要的效果。所以,我在这里;)

^(?:\+\d\d)?\d{10}$

首先是可选非捕获组,其中+ 是国家/地区代码。然后是10位数字。

See it here at regex101

答案 2 :(得分:1)

你可以试试这个

^([0|\+[0-9]{1,5})?([7-9][0-9]{9})$

答案 3 :(得分:-1)

您使用的是Html5模式吗?如果是,下面可能是你的答案,

<input type="text" pattern="[\+][\(]\d{2}[\)]\d{10}" required/>

e.g。格式:+(91)1234567890