电话号码的最佳正则表达式是什么? [复制]

2023-12-29

可能的重复:
用于电话号码验证的综合正则表达式 https://stackoverflow.com/questions/123559/a-comprehensive-regex-for-phone-number-validation
什么正则表达式可以匹配有效的国际电话号码? https://stackoverflow.com/questions/2113908/what-regular-expression-will-match-valid-international-phone-numbers

我在 StackOverflow 上看到过一些关于匹配电话号码的正则表达式的帖子。 但许多人似乎没有考虑数字之间可能存在的空格或破折号以提高可读性。

我来自荷兰,但我想使用匹配任何电话号码(包括国外的电话号码)的正则表达式。

我想将它用于插件,例如浏览器的 Skype 查找和替换插件。

目前,我正在使用以下正则表达式:

^((\+)?)([\s-.\(\)]*\d{1}){8,13}$

有人对此有任何改进吗?


我会和

# countryCode
(?:\+\d{1,3}|0\d{1,3}|00\d{1,2})

# actual number
(?:[-\/\s.]|\d)+

# combined with optional country code and parantheses in between
 ^(?:\+\d{1,3}|0\d{1,3}|00\d{1,2})?(?:\s?\(\d+\))?(?:[-\/\s.]|\d)+$

这应该足以匹配大多数欧洲和美国的电话号码表示形式:

+49 123 999
0001 123.456
+31 (0) 8123

但一般来说,电话号码的重叠文本表示太多,以至于无法针对不同国家/地区使用单个正则表达式。 如果您可以匹配所有表示,您将得到许多误报。在瑞士可能是一个数字,在俄罗斯、德国或加纳可能是其他数字。 这一切都是为了平衡精确度和召回率,并根据您真正需要的国家/地区优化正则表达式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

电话号码的最佳正则表达式是什么? [复制] 的相关文章

随机推荐

  • 使用 dplyr 对多列求和

    我的问题涉及对数据框的多个列中的值进行求和 并使用以下命令创建与此求和相对应的新列dplyr 列中的数据条目是二进制的 0 1 我正在考虑按行进行模拟summarise each or mutate each的函数dplyr 以下是数据框的
  • 由annotation_custom使用geom_bar图创建的移动表

    我尝试寻找答案 但找不到任何东西 我有一个绘图 想在绘图本身中添加一个表格 我可以做到 但桌子最终位于中间 如果x轴是离散的 是否可以重新定位由annotation custom创建的表 如果是这样 怎么办 谢谢你 例如 我想重新定位这张表
  • 继承自std::exception,std::exception的定义存在歧义

    所以我有点困惑 我一直在四处寻找 试图为我自己的类型确定从 std exception 继承的适当方法 现在根据 cplusplus com 我知道这不一定是标准 这就是我问的原因 std exception 是一个没有成员的基类 然而 在
  • 带有 UI 脚本的 Applescript 文件对话框

    我正在尝试在应用程序的不可编写脚本的区域中打开文件 我通过使用 UI 脚本来选择正确的菜单项 但这会打开一个标准文件对话框 如何使用 Applescript 设置文件对话框的目标位置 啊 好吧 这应该会让你走上正确的道路 tell appl
  • 在bash shell脚本中重新加载.profile(在unix中)?

    我是 bash shell 脚本新手 遇到了一个挑战 我知道我可以通过执行以下操作来重新加载我的 profile 文件 profile 但我试图在我正在编写的 bash 脚本中执行相同的操作 但它不起作用 有任何想法吗 我还可以提供其他信息
  • 通过Android的AccountManager获取Microsoft Exchange身份验证令牌

    我正在开发一个 Android 3 0 程序 它可以连接到 SSL 的 php web 服务 以 JSON 格式输出数据 我可以修改服务器 连接到此服务的平板电脑有一个企业 Microsoft ActiveSync exchange 201
  • 如何在 Mule 中添加一次全局异常处理程序/记录器

    我们想要向 mule 添加几行 XML 配置 并使用一个异常处理程序来记录到 SLF4J 而不是现在记录的位置 stdout 我们如何添加这个 我们不想将此处理程序添加到每个流 50 多个流 加上人们添加流时 他们可能会忘记添加我们的异常处
  • Mac 上的等效“sizeWithFont:”方法是什么?

    我熟悉sizeWithFont 对于iPhone 现在我正在尝试为 Mac 构建一个应用程序并需要类似的东西 但我不知道该怎么做 这就是我需要它的原因 我有一个显示一些文本的面板 我想调整它的大小 使其适合内容 aNSTextView 你会
  • 在使用反向代理提供服务的单独 Docker 容器中的 Flask 应用程序之间共享会话数据

    我有一个在本地主机上运行的 Docker 应用程序 有多个 Flask 应用程序 每个应用程序都有自己的容器 一个位于根域 localhost 其他位于子域 app localhost 我使用 traefik 反向代理来为容器提供服务 无需
  • Django 自定义身份验证后端不起作用

    我希望我的 Django 项目使用电子邮件而不是用户名对用户进行身份验证 我跟着这个建议 https stackoverflow com questions 37332190 django login with email 但它不起作用 这
  • 用 Moose 包装标准 Perl 模块是否“可以”?

    许多标准模块都直接使用 Perl 问题是这些人没有使用 Moosey 的东西 所以我发现自己用 Moose 包装它们 或者为了方便在更大的库中重新发明一些简单的函数 我想知道使用 Moose 的开发人员如何合并其他非 Moose 库是否有任
  • 从 str:tokenize() 循环多个序列

    我有来自某些硬件的类似传入 XML
  • Angular 4 与材料 2 的反应形式,禁用自动完成

    我正在使用 Angular cli Angular 4 和 Angular Material 2 我需要禁用 chrome 自动完成功能 但我无法这样做 我已经搜索并发现我需要在表单和输入中添加 autocomplete off 或 aut
  • 使用 SPARQL 中的“GRAPH”关键字获取远程图

    我希望使用 SPARQL 来完成相对基本的任务 给定一个 FOAF 图 我想解析我在其中找到的元素 获取它们的标签 如果存在 然后将它们用作新图查找有关这些人的信息 例如 您可以想象一个简单的用例 我想运行 SPARQL 查询来列出我所有最
  • 如何在 PHP 中使用 call_user_func_array 调用构造函数

    如何使用 call user func array 调用类的构造函数 这是不可能的 obj new class call user func array array obj construct args 因为如果构造函数有参数 new将失败
  • 检测声音在THREE.PositionalAudio 中结束?

    我想检测声音何时结束 但我发现所有示例都不起作用 Create sound var sound1 new THREE PositionalAudio listener sound1 load sounds Example ogg sound
  • 如何在 OpenLDAP 2.4 中使用 olcAccess 向用户添加权限

    我的公司运行着一台 OpenLdap Server 2 4 我需要允许人们在我们的 Web 应用程序之一中更改他们的图片 该功能已经存在 LDAP 中的人们没有任何权利编写自己的属性 特别是这里 jpeg照片 需要属性 我在文档中找到了这个
  • python multiprocessing:AttributeError:无法腌制本地对象

    我在类中有一个方法来返回参数可能会更改的函数 Interface函数接受两个参数 f及其args 我想使用mp pool来加速它 但是 它返回一个错误 from multiprocessing import Pool from multip
  • 在 Bootstrap 中对表行进行排序 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有人可以向我展示一个我必须用来对 Bootstrap 中表的列进行排序的代码示例吗 例如 如果我想按价格或名称排序 这些例子是mini
  • 电话号码的最佳正则表达式是什么? [复制]

    这个问题在这里已经有答案了 可能的重复 用于电话号码验证的综合正则表达式 https stackoverflow com questions 123559 a comprehensive regex for phone number val