regex - 验证 10 位电话号码

标签 regex

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

最佳答案

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

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

参见 regex demo .

详细信息:

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

关于regex - 验证 10 位电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40910449/

相关文章:

javascript - 在进行正则表达式搜索时操作输入字符串

java - 使用 Java RegEx 删除配对主题标签之间的内容 ##

java - 为什么我的正则表达式不匹配?

c# - 将 [0-9] 替换为 0[0-9]

php - 正则表达式只允许字符串中的整数和逗号

regex - 将所有正则表达式匹配捕获到一个向量中

javascript - 检测匹配的括号

regex - 使用 linux 重新格式化被屠杀的文本

java - 如何突出显示在javafx中使用正则表达式找到的单词

javascript - 用于匹配 "Viewing 1 to 10 of 100"等字符串的正则表达式模式