regex - 电话号码的正则表达式并排除小数

标签 regex nsregularexpression

我使用此正则表达式来识别我的应用程序中的电话号码。 “\\+?\\d{7,23}” 但这不能排除像3.1415926这样的小数。

如何修改这个正则表达式,使其能够识别电话号码,并且不给我像 3.1415926, 99.9999999 这样的十进制数字。

在这种情况下,“1415926”和“9999999”将被识别为电话号码,这是不希望的。

总之,我想拒绝带有“.”的数字被部分识别为电话号码。或者电话号码不应以“.”结尾。或跟随“.”。

谢谢。

最后,我使用enter image description here解决了这个问题。

最佳答案

尝试这个正则表达式:

^\+?((?!\.)\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

关于regex - 电话号码的正则表达式并排除小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40479040/

相关文章:

javascript html 正则表达式

java - 如何在 Java 中使用 $+ 或 $& 正则表达式?

regex - 多行 sed 替换

ios - NSRegularExpression用于YouTube链接

ios - 如何快速验证电子邮件地址?

php - 使用正则表达式确定一个字符串是否只是一个重复的字符

javascript - 使用 jquery 删除数组列表前的引号

ios - 在 iOS 上用多个正则表达式替换文本

ios - 从字符串中提取 5 位邮政编码