javascript - 正则表达式从三个选项之一开始

标签 javascript regex

我正在使用 HTML 构建一个简单的表单。我正在使用 Javascript 对各种输入字段执行客户端验证。其中一个字段是“电话号码”字段。我正在尝试编写一个将接受以下内容的正则表达式:

  • 必须从以下三个选项之一开始
    • +44
    • 0044
    • 44
  • 然后必须接受以下内容
    • 0 - 9 之间的数字
    • 空格
    • 连字符
    • 句号

目前,我有以下表达式:/^\+([0-9])([ .-]*\d){7,20}$/。但是,这仅接受以 +44 开头的数字,而不接受以 +44 OR 0044 OR 44 开头的数字。我的问题是如何修改上述正则表达式以检查以确保数字以三个选项之一开头?

非常感谢您的帮助。

注意

衷心感谢@melpomene 教我 SO 的方法以及如何以适当且合乎逻辑的格式构建我的问题。如果没有你,我不知道我今天会在哪里! :)

最佳答案

如果你放

(\+|00)?

在正则表达式之前,它接受(可选)+00

尝试使用

^(\+|00)?([0-9])([ .-]*\d){7,12}$

问候

关于javascript - 正则表达式从三个选项之一开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33038743/

相关文章:

javascript - 动态 jQuery 效果

javascript - 使用 python + selenium 单击按钮

java - 在 Java 中使用正则表达式格式化字符串

sql - Regexp_extract 出现 '-q_' 后的所有内容

regex - Geany 中的正则表达式搜索中是否可能出现负向后查找?

Java 正则表达式匹配除单个表达式之外的任何内容

javascript - Meteor.call 回调未执行

Javascript 深度复制对象

javascript - 如何在几个 div 中迭代切换元素

python - 使用正则表达式查找括号之间的特定字符串(包括括号)