gpt4 book ai didi

javascript - JavaScript test()方法语法错误?

转载 作者:行者123 更新时间:2023-12-03 08:30:04 26 4
gpt4 key购买 nike

我正在尝试将最好的电子邮件验证功能(位于此处:http://www.linuxjournal.com/article/9585?page=0,3)从php转换为javascript。不管“您不应该使用javascript进行验证,因为可以禁用javascript”。显然,我不能留在函数的checkdnsrr()部分中,但是其他所有功能都可以使用javascript完成。

到目前为止,该功能在此行之前均按预期工作:else if(/\.\./.test(domain)) {
我知道没有上下文就没有用,因此完整功能如下。还奇怪的是,它给具有完全相同的正则表达式模式的行“传递”:else if(/\.\./.test(local)) {,它在其前几行使用。奇怪。

function validEmail(email) {
var isValid = true;
var atIndex = email.indexOf("@");
var ending = email.length - 1;
if(typeof(atIndex) == "boolean" && !atIndex) {
isValid = false;
}
else {
var domain = email.substr(atIndex+1);
var local = email.substr(0, atIndex);
var localLen = local.length;
var domainLen = domain.length;
if(localLen < 1 || localLen > 64) {
// local part length exceeded
isValid = false;
}
else if(domainLen < 1 || domainLen > 255) {
// domain part length exceeded
isValid = false;
}
else if(local[0] == '.' || local[localLen-1] == '.') {
// local part starts or ends with '.'
isValid = false;
}
else if(/\.\./.test(local)) {
// local part has two consecutive dots
isValid = false;
}
else if(/^[A-Za-z0-9\\-\\.]+$/.test(domain) == false)
// character not valid in domain part
isValid = false;
}
else if(/\.\./.test(domain)) {
// domain part has two consecutive dots
isValid = false;
}
else if(/^(\\\\.|[A-Za-z0-9!#%&`_=\/$'*+?^{}|~.-])+$/.test(local.replace("\\\\",""))) {
// character not valid in local part unless
// local part is quoted
if(/^"(\\\\"|[^"])+"$/.test(local.replace("\\\\",""))) {
isValid = false;
}
}
}
return isValid;
}

最佳答案

您错过了上一个{中的if

因此,该else没有连接到它的if

关于javascript - JavaScript test()方法语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20963813/

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