我正在使用正则表达式^(\+91|[0]?)\d{10}$
进行电话号码验证。我想要下面的输出。
+911234567891 - valid
01234567891 - valid
1234567891 - valid
0123456789 - should be invalid as I want 10 digits after 0.
请建议更改正则表达式模式
提前致谢
最佳答案
您的^(\+91|[0]?)\d{10}$
模式匹配+91
或可选的0
,然后匹配任何10位数字。这意味着任何10位数字的字符串都将通过测试。您需要确保在+91
或0
之后允许使用10位数字,或者确保第一位数字是1
至9
,其余仅9位数字。
您可以使用
^(?:(?:\+91|0)\d{10}|[1-9]\d{9})$
参见regex demo。
详细信息
^
-字符串(?:(?:\+91|0)\d{10}|[1-9]\d{9})
-2种替代方法:(?:\+91|0)\d{10}
-+91
或0
,然后是任意10位数字|
-或[1-9]\d{9}
-从1
到9
的一个数字,然后是任意9个数字$
-字符串结尾。 关于javascript - 自定义电话号码正则表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46565360/