【问题标题】:correct the mobile regex pattern更正移动正则表达式模式
【发布时间】:2015-07-12 09:10:27
【问题描述】:

我有一个当前支持此类输入文本的移动验证正则表达式:

+91xxxxxxxxxx
0091xxxxxxxxxx

对以98开头的10位手机号码有效。

任何人都可以修改下面的正则表达式,以便输入可以以1-9 中的任何数字开头,并且还可以支持国家代码格式,例如91xxxxxxxxxx 无法按我的意愿工作。

这是我尝试过的正则表达式:

^((\+|00)\d{1,3})?[89]\d{9}$

【问题讨论】:

  • 贴一些有效和无效的例子。
  • +449807093606 ,00449807093606 在我的正则表达式模式中有效,希望对 +446707093606,446707093606 有效。我已经在regextester.com 中检查过了
  • 请检查this regex是否解决了问题。
  • @AshokAcharya:我添加了一个答案,如果它适合你,请考虑接受。

标签: javascript jquery regex validation preg-match


【解决方案1】:

您可以使用这个更新的正则表达式:

^((\+|00)?\d{1,3})?[1-9][0-9]{9}$

demo

所做的更改

  • [89]\d{9}改为[1-9][0-9]{9},让号码以1开头,其余9位可以任意
  • (\+|00) 更改为 (\+|00)?,这样我们就可以省略检查这些前导符号并验证从国家代码开始的数字。

【讨论】:

  • 如果您需要更多帮助,请告诉我。如果它解决了您的问题,请考虑接受答案。
【解决方案2】:

您的描述表明手机号码以 +918 或 +919 或 00918 或 00919

^(\+|00)91[89]\d{9}$

【讨论】:

  • 例如,现在接受的国家代码是 +91,0097 并且以 8 或 9 开头的 10 位手机号码将是有效的,我想要的正则表达式模式是它必须对任何起始手机号码都有效还有 91 ,+97,0091
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-25
  • 1970-01-01
  • 2012-02-12
  • 1970-01-01
  • 2021-08-05
  • 2022-06-23
相关资源
最近更新 更多