gpt4 book ai didi

javascript - RegExp 中的无效正则表达式错误

转载 作者:行者123 更新时间:2023-12-02 21:28:29 25 4
gpt4 key购买 nike

我正在使用 RegExp 来验证美国电话号码。对于 ReEmailFormat6 我收到以下错误: enter image description here

但其他表达式运行良好。我不确定为什么我会出现这个问题。请在下面找到我的代码:

    var reEmailFormat2 = new RegExp("(.)\1{7,}"); //match if phone number has same number repeated 8 or more times
var reEmailFormat3 = new RegExp("^0{1}[\d]{9}$"); //match if phone number has leading 0 with 9 digits after the 0
var reEmailFormat4 = new RegExp("1{1}[\d]{9}$"); //match if phone number has leading 1 with 9 digits after the 1
var reEmailFormat5 = new RegExp("/^[+]?(1\-|1\s|1|\d{3}\-|\d{3}\s|)?((\(\d{3}\))|\d{3})(\-|\s)?(\d{3})(\-|\s)?(\d{4})$/g");
var reEmailFormat6 = new RegExp("^(?:\+?1[-. ]?)?\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$");
debugger;

if (controlToValidate[0].value == "" || controlToValidate[0].value == controlToValidate.attr("placeholder")) {
args.IsValid = false;
controlToValidate.addClass("site-validation-field");
}
else if (controlToValidate[0].value == "") {
args.IsValid = false;
controlToValidate.addClass("site-validation-field");
}
else if ((reEmailFormat6.test(controlToValidate[0].value))) {
debugger;
args.IsValid = false;
controlToValidate.addClass("site-validation-field");
}

最佳答案

使用正则表达式文字语法重写所有正则表达式:

var reEmailFormat2 = /(.)\1{7,}/; //match if phone number has same number repeated 8 or more times
var reEmailFormat3 = /^0{1}[\d]{9}$/; //match if phone number has leading 0 with 9 digits after the 0
var reEmailFormat4 = /1{1}[\d]{9}$/; //match if phone number has leading 1 with 9 digits after the 1
var reEmailFormat5 = /^[+]?(1\-|1\s|1|\d{3}\-|\d{3}\s|)?((\(\d{3}\))|\d{3})(\-|\s)?(\d{3})(\-|\s)?(\d{4})$/g;
var reEmailFormat6 = /^(?:\+?1[-. ]?)?\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;

当您将正则表达式形成为字符串以传递给RegExp()构造函数时,您必须考虑到JavaScript中的字符串语法也使用反斜杠字符作为元字符。因此,如果您不在源字符串中加倍反斜杠字符,则将其解析为字符串的过程将删除它们。

关于javascript - RegExp 中的无效正则表达式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60677084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com