代码之家  ›  专栏  ›  技术社区  ›  Veshraj Joshi

用于电子邮件验证的regex规则在Vuejs中不起作用

  •  2
  • Veshraj Joshi  · 技术社区  · 6 年前

    我按照中的规定尝试了此代码 https://vuejs.org/v2/cookbook/form-validation.html .

    validEmail: function (email) {
        var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
        return re.test(email);
    }
    

    Vuejs是这么说的- error: Unnecessary escape character: \[ (no-useless-escape) at src/components/form.vue:125:65 哪条线 var re = ...

    我在这出什么事了?我把这个函数称为 this.validEmail(this.modelname)

    1 回复  |  直到 6 年前
        1
  •  3
  •   Decade Moon    6 年前

    “错误”(技术上只是一个警告)是说你不需要逃避 [ 在regex中,当它位于字符集内时( [] 语法)因为它的含义是明确的(不能创建嵌套字符集); ] 另一方面, 需要转义,因为它将被解释为结束字符集而不是文本的regex语法的一部分 ] 性格。

    简化示例:

    /[\[]/
      ^ unnecessary escape
    

    应改为:

    /[[]/