更正移动正则表达式模式

correct the mobile regex pattern

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

+91xxxxxxxxxx
0091xxxxxxxxxx

并且适用于以 98 开头的 10 位手机号码。

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

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

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

您的描述建议手机号码以 +918 或 +919 或 00918 或 00919

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

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

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

demo

所做的更改

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