regex for mobile number validation in java
本问题已经有最佳答案,请猛点这里访问。
我希望电话号码的工作组合为'0'后跟10位数的手机号码(或)0091,后跟10位手机号码(或)+91后跟10位数字。
1)0跟随和+91以下的数字正在使用以下正则表达式我也希望0091跟随数字工作,我的正则表达式是:
1 | "^([0]|(?:[0][0]|\\+)(91))([7-9]{1})([0-9]{9})$"; |
你能建议我做一个正则表达式吗?
你似乎想要的确切正则表达式(基于你迄今为止尝试过的)是:
1 | ^(?:0091|\\+91|0)[7-9][0-9]{9}$ |
- 从0,+ 91或0091开始
- 其次是7-9
- 紧接着是9个数字
- 没有捕获组
- 必须匹配整个输入
RegExr上的工作示例
作为一般提示,为了自己解决这个问题,我建议使用像RegExr或RegexPal这样的网站
将其设置为多行模式(以便
然后尝试制作一个匹配该部分的正则表达式,在您的情况下,您需要类似的东西
1 | ^0091|\+91|0$ |
注意:在RegExr上你不必转义反斜杠(因此当你在java中使用正则表达式时,你需要通过转义它们)。
猜猜这个正则表达式会起作用:
1 | ^((0091)|(\+91)|(0))([7-9]{1})([0-9]{9})$ |
如果您使用的是Android,则可以使用以下方法:
或者如果你真的想使用正则表达式,尝试做类似的事情:
1 | if (match("^0[0-9]{9}") || match("^+91[0-9]{10}") || match("^0091[0-9]{9}")) |
使用以下代码(test.matches(..)是重要的部分):
这个正则表达式应该工作。
您可以使用