我想要电话号码的工作组合为'0‘后10位移动电话号码(或) 0091折叠10位移动号码(或) +91后10位数字号码。
1) 0和+91折叠数与下面的regex一起工作--我也希望0091后面的数字能够工作,我的regex是:
"^([0]|(?:[0][0]|\\+)(91))([7-9]{1})([0-9]{9})$";你能给我建议一下。
发布于 2013-11-27 13:36:54
您似乎想要的确切的正则表达式(根据您到目前为止所尝试的)是:
^(?:0091|\\+91|0)[7-9][0-9]{9}$Working example on RegExr
作为一般提示,,要自己解决这个问题,我建议您使用RegExr或RegexPal这样的站点
将其设置为多行模式(以便^和$在每一行的末尾匹配),然后将0091、+91和0添加到单独行的输入框中,这样就有了something like this。
然后尝试做一个与这部分相匹配的正则表达式,在您的情况下,您需要这样的内容
^0091|\+91|0$注意: on RegExr,您不必转义反斜杠(所以当您在java中使用regex时,需要对其进行转义)。
发布于 2013-11-27 13:44:53
我猜这个正则表达式会起作用的:
^((0091)|(\+91)|(0))([7-9]{1})([0-9]{9})$发布于 2013-11-27 13:22:57
如果您正在使用Android,则可以使用以下方法:PhoneNumberUtils.isGlobalPhoneNumber("+91.......)
或者,如果您真的想使用regex,可以尝试这样做:
if (match("^0[0-9]{9}") || match("^+91[0-9]{10}") || match("^0091[0-9]{9}"))https://stackoverflow.com/questions/20243574
复制相似问题