首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java中移动号码验证的regex

java中移动号码验证的regex
EN

Stack Overflow用户
提问于 2013-11-27 13:16:36
回答 5查看 10.4K关注 0票数 0

我想要电话号码的工作组合为'0‘后10位移动电话号码(或) 0091折叠10位移动号码(或) +91后10位数字号码。

1) 0和+91折叠数与下面的regex一起工作--我也希望0091后面的数字能够工作,我的regex是:

代码语言:javascript
复制
"^([0]|(?:[0][0]|\\+)(91))([7-9]{1})([0-9]{9})$";

你能给我建议一下。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-11-27 13:36:54

您似乎想要的确切的正则表达式(根据您到目前为止所尝试的)是:

代码语言:javascript
复制
^(?:0091|\\+91|0)[7-9][0-9]{9}$
  • 以0,+91或0091开头
  • 然后是7-9
  • 后面紧跟着9个数字
  • 无捕获组
  • 必须与整个输入匹配

Working example on RegExr

作为一般提示,,要自己解决这个问题,我建议您使用RegExrRegexPal这样的站点

将其设置为多行模式(以便^$在每一行的末尾匹配),然后将0091+910添加到单独行的输入框中,这样就有了something like this

然后尝试做一个与这部分相匹配的正则表达式,在您的情况下,您需要这样的内容

代码语言:javascript
复制
^0091|\+91|0$

注意: on RegExr,您不必转义反斜杠(所以当您在java中使用regex时,需要对其进行转义)。

票数 7
EN

Stack Overflow用户

发布于 2013-11-27 13:44:53

我猜这个正则表达式会起作用的:

代码语言:javascript
复制
^((0091)|(\+91)|(0))([7-9]{1})([0-9]{9})$
票数 2
EN

Stack Overflow用户

发布于 2013-11-27 13:22:57

如果您正在使用Android,则可以使用以下方法:PhoneNumberUtils.isGlobalPhoneNumber("+91.......)

或者,如果您真的想使用regex,可以尝试这样做:

代码语言:javascript
复制
if (match("^0[0-9]{9}") || match("^+91[0-9]{10}") || match("^0091[0-9]{9}"))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20243574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档