javascript/jquery:从字符串中提取电话号码

javascript/jquery : extract phone numbers from string

本文关键字:提取 电话号码 字符串 jquery javascript      更新时间:2024-07-04

我试图从一个字符串中提取电话号码,该字符串可以是空的,也可以看起来像以下示例之一:

  • "电话:04 27 52 12 87港口:07 67 11 06 87"
  • "电话:04 27 52 12 87"
  • "端口:07 67 11 06 87"

此外,一个电话号码可能是这样的:(0039)234786因此常数是"Tél.:"和/或"Port.:"

他们把这些数字放在两个变量中(手机和固定电话)。

我尝试过split和indexOf函数,但我确信有更好、更有效的方法可以做到这一点。

有什么想法吗?

如果您已经知道您的字符串是一个电话号码,只需替换所有非数字字符即可留下您的电话号码:

telInteger = parseInt(inputString.replace(/[^0-9]/g,''));

这样,格式是什么并不重要,你总能得到数字。

如果不知道您的字符串有电话号码,并且您只是在野外搜索,则可以使用其他答案中的RegEx来检测电话号码。

希望这能帮助

这里有一个正则表达式,用于查找您的电话号码的两个版本
这两种图案由管道字符(|)分隔。

在管道的左侧,它连续四次查找数字空间,然后查找最后一个位数

在管道的右侧,它查找括号,然后一行中的四位结束括号格六位数字

我在regexr.com中通过复制和粘贴文本进行了测试,然后在顶部字段中输入以下内容:

/((('d{2})('s)){4}('d){2})|('(('d){4}')('s)('d){6})/g

注意:regexr.com提供外部斜杠,因此不需要包含上述示例中的斜杠,并且在末尾默认为全局"g"标志。

使用RegEx:

((Tél.''s:''s)(?([''d''s]+))?''s?([''d]+)?)?((端口.''s:''s)([''d''s]+))?

这应该能捕捉到你想要得到的一切。

我看到你说你对RegEx没有太多经验。。。我也没有,但我只是复习了这个教程(http://regexone.com/)今天早上,我对现在使用它们很有信心。它真的没有那么多需要学习(至少能够做很多事情)!

只是为了让你知道,我确实用RegEx工具检查了这个,它起了作用!