PHP 电话号码解析器

2023-12-11

仅针对英国和爱尔兰构建应用程序,但可能会扩展到其他国家。我们已经构建了一个 API,我正在尝试决定如何 A) 存储电话号码 B) 如何编写解析器来理解所有输入和比较的格式。

e.g.

假设用户位于爱尔兰,他们会以这些格式添加电话号码

0871231234

087 123 1234

087-1231234

+353871231234

或以有效方式书写数字的任何其他组合。我们希望允许这样做,以便可以以一致的方式将新号码添加到我们的数据库中

因此上面的所有数字可能会存储为 00353871231234

问题是我还需要对所有英国进行解析。是否有任何课程可以帮助完成此过程?


使用正则表达式。可以找到一个信息页面here。学习它应该不会太难,并且对您非常有用。

以下是验证英国电话号码的正则表达式:

^((\(?0\d{4}\)?\s?\d{3}\s?\d{3})|(\(?0\d{3}\)?\s?\d{3}\s?\d{4})|(\(?0\d{2}\)?\s?\d{4}\s?\d{4}))(\s?\#(\d{4}|\d{3}))?$

它允许 3、4 或 5 位数字的区域前缀,分别带有 8、7 或 6 位电话号码,以及可选的 3 或 4 位分机号码,前缀为 # 符号。还允许在区域前缀周围使用可选的括号以及适当的号码组之间的可选空格。可以找到更多here.

ThisStackoverflow 链接应该可以帮助您了解如何将正则表达式与电话号码一起使用国际化.

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

PHP 电话号码解析器 的相关文章

  • 检查 $_POST 数据

    我正在对表单进行一些垃圾邮件检查 下面的代码在我的本地主机上正常工作 如果为 true 则重定向到 google com 但是 当它在生产服务器上时却不起作用 执行脚本的其余部分并且不重定向到 Google com if POST SERV
  • setcookie with expire=0 浏览器关闭后不会过期

    我使用setcookie来制作一个过期 0的cookie 从 PHP 文档来看 link http php net manual en function setcookie php cookie 过期的时间 这是一个 Unix 时间戳 所以
  • PHP 通过 SSL 连接到 MS SQL

    我想要实现的目标非常简单 我想通过安全连接从 PHP 脚本连接到外部 MS SQL 数据库 然而 这已被证明是有问题的 到目前为止 经过三个小时的研究 我不知所措 客户端的平台是Ubuntu 这意味着我无法使用SQLSRV 安全连接已经在不
  • 无法访问 localhost/xampp/index.php

    我刚刚安装了 Windows 7 的 XAMPP 控制面板似乎工作正常 我启动了 MySql 和 Apache 我遇到的问题是 当我在浏览器 Google Chrome 中输入 localhost 时 它会将我发送到 http localh
  • 为什么 JavaScript ES6 不支持多构造函数类?

    我想编写我的 Javascript 类 如下所示 class Option constructor this autoLoad false constructor key value this key value constructor k
  • PHP:读取所有传入 HTTP 请求的类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 多次重定义错误

    在了解了有关类和指针的更多信息后 我重构了一个程序并删除了超过 200 行代码 在此过程中创建了另外两个类 Location and Piece 问题是 在编译完所有内容后 链接器抱怨构造函数Piece被定义了多次 有很多错误 In fun
  • 如何在 JavaScript 中创建服务器端进度指示器?

    我想在我的网站中创建一个部分 用户可以在其中进行一些简单的操作update纽扣 这些中的每一个update按钮将发送到服务器 并在幕后进行长时间的处理 当服务器处理数据时 我希望用户有某种进度指示器 例如进度条或文本百分比 我使用 jQue
  • 将 cookie 设置为在当天结束时过期

    我想设置一个 cookie 并让它在一天结束时过期 这有效 但 24 小时后过期 setcookie route upgrade voted true time 86400 这不起作用 setcookie route upgrade vot
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • 不能从模板 C++ 类继承[重复]

    这个问题在这里已经有答案了 我不知道这里出了什么问题 也许有人可以帮助我 我想继承我的新班级MyDictionary来自模板抽象类dictionary 我有这样的代码 字典 h ifndef UNTITLED CPP DICTIONARY
  • 是否可以用 PHP 编写电子邮件解析器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 Windows 上安装 Zend 框架

    安装 Zend Framework 就是这么简单 是的 对 好吧 我正在写一本初学者的书 有一件不太详细的事情是最重要的部分 安装该死的东西 浏览了几个小时的快速入门指南后 它只说 下载 Zend 添加包含目录 bla bla 然后就完成了
  • 用于检查类是否具有运算符/成员的 C++ 类型特征[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以编写一个 C 模板来检查函数是否存在 https stackoverflow com questions 257288 is it possible to write a c template
  • 如何处理 REST api 中的 php 通知、警告和错误?

    在 REST API 中 200 响应表明操作成功 PHP 默认情况下直接在响应正文中输出错误消息 而不更改响应代码 在 SPA 中 用户无法直接看到响应文本 因此 当应用程序未按预期工作时 我通过 FireBug 检查响应正文 以检查可能
  • 使用 php/regex 验证美国电话号码

    EDIT 我混合并修改了下面给出的两个答案 以形成完整的功能 现在它可以完成我想要的功能 然后是一些 所以我想我会将其发布在这里 以防其他人来寻找同样的东西 Function to analyze string against many p
  • 使用会话 php 创建 cookie?

    我使用会话来登录我网站中的用户 问题是 我想让用户remember密码 因此关闭 打开浏览器后他们不需要再次登录 我需要使用 cookie 和 session 来实现它吗 my code user POST user pass POST p
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows
  • Laravel 搜索关系

    我有两个相关的模型 我正在尝试在产品中进行搜索 并且仅显示实际搜索结果 而不是找到该产品的类别的所有产品 我不想搜索任何类别 因为无论搜索什么或找到什么 类别都会始终显示 Example I have the following categ
  • 通过 htaccess 将 PNG 解析为 PHP 仅适用于本地服务器,但不适用于网络服务器

    我用 PHP 创建了一个动态 PNG 图片 为了使用 PNG 扩展名 我创建了一个包含以下内容的 htaccess 文件 AddType application x httpd php png 在我的本地 XAMPP 服务器上 一切工作正常

随机推荐

  • 我可以在浏览器中查看 httpOnly cookie

    我认为 httpOnly cookie 只能在 http 请求中读取 但是 当我打开 Firefox 开发工具时 我可以看到 cookie 的值 这是正常的吗 是的 这很正常 HttpOnly 的作用是阻止 cookie 被访问JavaSc
  • Oracle分页策略

    我想从两个时间戳之间的表中获取数百万行 然后对其进行处理 触发单个查询并立即检索所有记录看起来是一个糟糕的策略 因为它可能超出我的 JVM 程序的内存容量 我读过这篇文章 http oracle readthedocs io en late
  • 对Java ThreadPool的困惑

    这是我第一次在我的新项目中使用Java线程池 在我遇到这个之后 关联http www javacodegeeks com 2013 01 java thread pool example using executors and thread
  • 以字符串作为分隔符分割字符串

    我正在尝试使用字符串 而不是字符 作为分隔符来拆分批处理文件中的字符串 该字符串的格式为 string1 by string2 txt 分隔符是by 是的 空格 by 一词 后面跟空格 我想要的输出是 string1 string2 所以
  • curl :(1) libcurl 中不支持或禁用协议 https

    我正在尝试在 Ubuntu 11 04 上安装 Rails 环境 当我启动命令时rvm install 1 9 2 with openssl dir usr local收到以下错误 curl 1 Protocol https not sup
  • (Windows 10) GitBash 未格式化颜色 - 找不到配置设置

    背景 我的 Git Bash 命令行没有显示颜色或格式 并且似乎正在转义字符 例如 The Entity shortcut name CarBundle Car C K7arBundle8a K7rBundle8r K7Bundle8B K
  • 如何从 Gemfire 获得独特的多头?

    我们正在开发一个直接与 Gemfire 对话的分层 Java 应用程序 我们需要能够生成唯一的 长 序列号 保证在应用程序的所有节点上都是唯一的 并非所有节点都集群 通常我会在 Oracle 中创建一个序列 但在这种情况下 即使我们的 Ge
  • 使网格项目重叠

    我正在尝试实现一个 css 网格图案 其中标题覆盖下一行 我添加了一段代码 标题位于顶部 所附图像应该向您展示我想要实现的目标 Thanks body display grid grid template areas header head
  • jquery href().addClass() 问题

    http jsfiddle net aBaw6 2 当您将鼠标悬停在列表项上时 此演示不会添加类 我在这里做错了什么 li hover function this addClass hover function this removeCla
  • 类列表在控制台中不断打印为类名称?

    好吧 也许我只是累了或者怎么了 但我似乎不明白为什么这种情况一直发生 每天都会针对我拥有的数据库中的数据点调用下面的代码 当我打印到控制台进行调试时 它只是打印为 NamespaceName SharePrices 不知道发生了什么事 pu
  • 如何监控SIM状态变化

    我希望能够在 SIM 状态发生变化时做一些事情 即在需要 SIM PIN 时播放声音 但我认为没有广播事件可以被广播接收器拦截 android intent action PHONE STATE 仅告诉您 CALL STATE 何时发生变化
  • 在 FOR 循环中使用 revgeocode 函数。需要帮助

    我的问题详细如下 我的输入数据的格式如下面的小示例所示 USERID LONGITUDE LATITUDE 1 8 79659 55 879554 2 6 874743 56 87896 3 3 874743 58 87896 4 10 8
  • 使用 gcc 未定义对“__gxx_personality_v0”的引用[重复]

    这个问题在这里已经有答案了 可能的重复 gxx personality v0 是做什么用的 我在编译 C 代码的上下文中看到了这个问题 不过我要编译一个pureC 代码并继续出现此错误 我被禁止使用 lstdc 作为解决此 gcc 问题的方
  • 加载 JSON-P 时可以避免使用全局回调函数吗?

    我想使用 JSON P 在我的网页上加载我的 Google 日历提要 为了使页面上的主要内容加载得更快 我仅在页面加载后将 JSON P 的脚本标签注入到 head 标签中 Google Calendar API 返回带有回调函数的脚本 请
  • 使用 pyodbc 连接到 PostgreSQL

    我有一个在本地主机上运行的 PostgreSQL 我安装了 psqlODBC 驱动程序 现在 当我尝试使用 pyodbc 连接到服务器时 import pyodbc connection pyodbc connect DRIVER psql
  • 从pdf中提取已知bbox中的文本,PDFQuery太慢

    我在 lxml 文件中找到了 bbox 坐标 并设法使用 PDFQuery 提取了所需的数据 然后我将数据写入 csv 文件 def pdf scrape pdf Extract each relevant information indi
  • deleteRowsATIndexPaths 崩溃[重复]

    这个问题在这里已经有答案了 我正在尝试删除 t stable 视图中的一行 但每次我在应用程序中选择删除时 它都会因此错误而崩溃 无效更新 第 0 节中的行数无效 更新 3 后现有节中包含的行数必须等于更新 3 之前该节中包含的行数 加上或
  • 超出最大请求长度,错误页面未重定向

    我点击了这些链接 捕获 超出最大请求长度 and ASP NET 上传大文件时如何显示错误页面 超出最大请求长度 显示错误页面处理上传文件超出maxRequestLength in web config 但我的问题是 它没有重定向到错误页面
  • 如何计算oracle 10g中的列值?

    create table ord tbl ord id number 10 primary key ord name varchar2 20 quantity number 20 cost per item number 30 total
  • PHP 电话号码解析器

    仅针对英国和爱尔兰构建应用程序 但可能会扩展到其他国家 我们已经构建了一个 API 我正在尝试决定如何 A 存储电话号码 B 如何编写解析器来理解所有输入和比较的格式 e g 假设用户位于爱尔兰 他们会以这些格式添加电话号码 0871231