电话号码的正则表达式,不包括十进制数字

时间:2016-11-08 04:34:56

标签: regex nsregularexpression

我使用此正则表达式来识别我的应用中的电话号码。 " \\?+ \\ d {7,23}" 但这不能排除像3.1415926这样的十进制数字。

如何修改此正则表达式,以便它可以识别电话号码,并且不会给我十进制数字,如3.1415926,99.9999999。

在这种情况下,' 1415926'和' 9999999'将被识别为电话号码,这是不可取的。

总之,我想用'拒绝数字。'被部分认可为电话号码。或者电话号码不应该成功。'。或者按照'。'。

感谢。

最后,我使用enter image description here

解决了这个问题

1 个答案:

答案 0 :(得分:2)

试试这个正则表达式:

^\+?((?!\.)\d){7,23}$

<强>解释

\+                string starts with an optional +
((?!\.)\d){7,23}  negative lookahead asserts that string contains between 7 and 23
                  numbers, each of which is not a dot

在这里演示:

Regex101