【问题标题】:How to fix regex Unterminated regular expression literal如何修复正则表达式未终止的正则表达式文字
【发布时间】:2021-07-14 04:15:13
【问题描述】:

我目前有这个正则表达式字符串,我的反应代码中出现未终止的正则表达式文字错误

const check_number = /^[0]\d{10}$)|(^[\+]?[234]\d{12}$

有谁知道如何解决这个问题。

【问题讨论】:

  • 你可以试试/^(?:0|\+?[234]\d\d)\d{10}$/

标签: javascript reactjs regex


【解决方案1】:

确切的语法错误是由缺少/ 结束分隔符(以及其他一些事情)引起的。但是,您的正则表达式还有其他问题。使用这个版本:

const check_number = /^(?:0\d{10}|[+]?[234]\d{12})$/

上述模式匹配以下任一电话号码:

  • 从零开始,总共有 11 个数字,或者
  • 以可选的 + 开头,后跟 2、3 或 4,共有 13 个数字

【讨论】:

    【解决方案2】:

    问题是您的正则表达式无效,原因有很多:

    1. 您在末尾缺少一个结束 / 字符
    2. 开头有一个右括号,没有左括号
    3. 中间有一个左括号,没有右括号

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-27
      • 1970-01-01
      • 2018-03-21
      相关资源
      最近更新 更多