我正在检查一个值,不管它是emailid还是不使用下面的代码。RegExp在检查emailid时花费太多
function getEmailId(inputTxt){
var email = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
return new RegExp(email).test(inputTxt);
}
var sTime = new Date();
var a = getEmailId("[email protected]");
console.log("value>>>>"+a+">>>time>>>>"+(new Date()-sTime));
大约需要55秒。给出上面的输入结果,如果我将其更改为
var a = getEmailId("[email protected]");
需要将近3.5秒才能得出结果。
我无法理解此行为。
任何人都可以帮助我理解这种行为,并有任何方式可以立即得到结果。
你为什么这样做的东西'新RegExp'这已经是一个正则表达式? –
@Hacketo必须具体环境,Safari没有问题。 –
铬没有问题 –