创建具有11到13位数字的字符串的REGEX

时间:2019-02-22 14:13:12

标签: regex

为电话号码创建一个正则表达式,以接受11到13位数字,并在字符串中以“-()和_”开头的+。

这是我创建的正则表达式,可以接受直到11位数字,但未设置最大值:

^((\(?\+?[0-9]*\)?)?[0-9_\- \(\)]){11,13}$

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用正向前瞻来对数字施加限制。然后编写模式以匹配实际格式:

^(?=\+?(?:\d-?){11,13}$)\+?\d+(?:-\d+)*$

正则表达式细目:

  • ^输入字符串的开头
  • (?=开始积极向前
    • \+?匹配可选的+
    • (?:\d-?){11,13}介于11到13位数字之间,允许短划线
    • $输入字符串的结尾
  • )前瞻结束
  • \+?\d+先匹配+,然后匹配数字序列
  • (?:-\d+)*匹配任意数量的-\d+次出现
  • $输入字符串的结尾

请参见live demo here