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

用于联系号码的正则表达式,该联系号码以/不以

余善
2023-03-14

我试图创建一个基本的南非联系号码正则表达式。但它不起作用。规则很简单。

10位或11位,如果它以

示例:0119879874 07312312342773123123427123456789

它必须仅匹配数字和长度。我的尝试:[ \d]\d{9}\d{0,2}
我 https://regex101.com/ 在网站上测试过,它看起来有效,但当我用/[ \d]\d{9}\d{0,2}/.test('12345gjhf6789123456')测试它时,它看起来有效,但当我用/[ \d]\d{0,2}/.test('12345gjhf6789123456'))测试它时,它就不起作用了,然后我得到了一个真实的值。

共有2个答案

司允晨
2023-03-14

与其使用不提供任何错误消息且难以阅读(和维护)的正则表达式,我建议使用一个简单的验证函数,明确列出规则:

function validate(num) {
  if (num[0] === '+') {
    return num.length === 11;
  } else {
    return num.length === 10;
  }
}

这有几个优点,包括:

  • 比正则表达式快
  • 以后更容易评论和扩展
  • 可以替换为完整的谓词库或只是规则数组
楚和悌
2023-03-14

您应该在字符串的开头指定^,在< code>$的结尾指定

/^(\+\d)?\d{10}$/.test('12345gjhf6789123456'))
 类似资料:
  • 本文向大家介绍最新手机号码、电话号码正则表达式,包括了最新手机号码、电话号码正则表达式的使用技巧和注意事项,需要的朋友参考一下 今天开始小编为大家系统整理关于正则表达式的一系列文章,希望大家会喜欢。 首先了解一下正则表达式的概念,正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等

  • 问题内容: 该字符串不应包含SSN或电话号码。下面的正则表达式不起作用,它仅接受xxxxxxxxx格式。 不应包含或或。 问题答案: 您可以尝试: 解释一下,如果我们阅读了您提供的查询: 我们可以读到:( 在我的顶部版本中,我改写为:。)。 保证世界上任何字符串都不匹配其中至少两个,因此它们的组合始终为真,从而为您提供了一个简单得多的有效正则表达式: 是零宽度的断言,因此它不消耗任何东西。即使匹配

  • 我有一个非常好的正则表达式,它从文本中选择引用: 但是我需要一个正则表达式,它从没有引号的文本中选择引号。 例如,我有: 鲸鱼包括八个现存的家族:“鲸豚科”(白鲸),“鲸豚科”(露脊鲸),“鲸豚科”(侏儒露脊鲸),“白鲸科”(灰鲸),“独角鲸科”(白鲸和独角鲸),“抹香鲸科”(抹香鲸)。。。 我需要在引号之间提取文本: 龟甲翅目,龟甲翅目,龟甲翅目,... 要提取括号之间的文本,我使用正则表达式:

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

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

  • 问题内容: 我写了一个正则表达式,用double-qoutes分割字符串: 如何将其扩展为与单双qoutes一起使用? 我试过了: 但这是行不通的 问题答案: 有两种方法: