当前位置: 首页 > 知识库问答 >
问题:

需要修改验证英国电话的正则表达式

贾骏喆
2023-03-14

我有一个英国电话号码的PHP验证,由潜在客户在我的表格中计算。它看起来像这样:

function phoneUK(phone){
    var regex = /^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/i;
    return regex.test(phone);
}

问题是,在这种形式下,它只允许电话号码前面有一个0,后面有十个数字(0XXXX XXXXXX),而且最近也有合法的电话号码,前面的零后面有十一个数字。

如何更改代码以允许使用这些类型的电话号码?

共有1个答案

盖玉石
2023-03-14

试试这个:

function phoneUK(phone){
    var regex = /^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{2}\)?\s?\d{5}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{3}\)?\s?\d{4}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3}|\d{4}\s?\d{3})|\d{5}\)?\s?\d{4,5}|\d{5,6}\)?\s?\d{4,6})$/i;
    return regex.test(phone);
}

希望这有帮助。

 类似资料:
  • 在注册会员时,经常需要输入电话号码,电话号码是指手机号码或者固定电话。如果输入的内容不合法,则会向用户输出提示。本实例模拟实现电话号码的验证功能,接收用户在控制台输入的电话号码,然后进行判断,并将结果输出。 在这里使用《 Java正则表达式》一节中讲到的正则表达式支持的字符来实现,步骤如下。 (1) 创建名为 Test21.java 的 Java 文件,在 main() 方法中开始编写代码。 (2

  • 我正在修改一个脚本。该脚本包含一个表单,允许访问者向电话号码发送短信。在表单中,我有一个文本框,用户在其中输入文本接收器的电话号码。我正在使用正则表达式验证电话号码,以防止垃圾邮件发送者,并确保用户键入正确的号码。 以下是阿富汗使用的默认电话号码: 正则表达式验证首先应该确保使用93,然后确保在93之后使用78、77、79或700(其中之一),最后是6位数。 下面是我试图修复的Javascript

  • 我需要有关验证电话号码的正则表达式行的帮助,它如下所示: 这些是它验证的格式: 我想验证如下数字: +263 772 485 384 773456284 0773456284 大部分是国际号码

  • 您好,早些时候我在浏览网页,以便在一个正则表达式中找到有关电话号码验证的快速答案:紧急、简短、国际、法语、西班牙语和北美号码(普通、新奇和扩展版本)。 奇怪的是,我找不到比“电话号码公式的综合正则表达式”更好的了,因为它似乎是关于这个的最好的话题,或者我错过了它,这是完全可能的。 所以我是这个网站的新手,实际上是在写第一个问题(是的!),由于另一条线索目前处于某种状态:似乎作者没有得到他和我想要的

  • 我正试图建立一个全面的正则表达式来验证电话号码。理想情况下,它将处理国际格式,但它必须处理美国格式,包括以下内容: 我将用我目前的尝试来回答,但我希望有人有更好和/或更优雅的东西。

  • 主要内容:标签属性,JSF验证整数范围实例标签用于将字符串值验证为所需格式。 以下代码显示如何使用标记。 标签属性 属性 说明 pattern 格式化模式 JSF验证整数范围实例 打开 NetBeans IDE 创建一个Web工程:ValidateRegularExpression,其目录结构如下所示 - 创建以下文件代码,文件:index.xhtml 的代码内容如下所示 - 文件:result.xhtml 的代码内容如下所示 - 文件: