javascript - 正则表达式验证国际电话号码

标签 javascript jquery regex

任何人都可以帮我编写一个满足这些条件的正则表达式来验证国际电话号码:

  1. 必须以 +、00 或 011 开头。
  2. 唯一允许的字符是 [0-9]、-、.、空格、(,)
  3. 长度并不重要

所以这些测试应该通过:

  • +1 703 335 65123
  • 001 (703) 332-6261
  • +1703.338.6512

这是我的尝试 ^\+?(\d|\s|\(|\)|\.|\-)+$ 但它无法正常工作。

最佳答案

要清理正则表达式,请使用方括号来定义字符的“OR”情况,而不是 |

下面是正则表达式的重写版本,与提供的描述相匹配。

/^(?:\+|00|011)[0-9 ().-]+$/

有什么用?:

当直接在括号内执行 ?: 时,它是为了告诉正则表达式引擎您想要对某些内容进行分组,但不存储信息以供以后使用。

关于javascript - 正则表达式验证国际电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8623543/

相关文章:

.net - 如何从 vb.net 中的正则表达式匹配中获取字符串?

javascript - 每次点击如何滑动到下一个元素?

javascript - 将点击日期的数据放入输入类型中

jquery - 如果没有单击单选按钮,则禁用提交按钮

java - 正则表达式中的匹配字符 * (Java)

python - 找到一个被新行打断的长单词

javascript - 仅使用 javascript 创建径向菜单

javascript - 为什么我的内容在使用滚动时消失了

javascript - 如何在不出现可怕的 "stop running this script?"对话框的情况下清除内容?

jquery - 如何在多个输入字段上使用jquery keyup?