针对特定场景 Javascript 中的电子邮件验证
Email validation in Javascript for a specific scenario
我已经尝试了几乎所有的正则表达式解决方案,但我仍然能够绕过以下电子邮件的验证 -
test_test_test@yaho..co.uk
我需要使用 Javascript
将此电子邮件标记为无效。请分享我可以用来将上述电子邮件标记为无效的正确正则表达式。
试试这个:
function validateEmail(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);
}
console.log(validateEmail("test_test_test@yaho..co.uk"));
console.log(validateEmail("test_test_test@yaho.co.uk"));
您可以使用来自 Regex101
的 this one
我认为您之前的正则表达式可能不小心将 \.
包含在带有 +
量词的字符列表中,因此 @xx..co
仍然可以绕过
var regex = /^[0-9a-zA-Z-_$#]+@[0-9a-zA-Z-_$#]+\.[a-zA-Z]{2,5}/;
console.log(regex.test('test_test_test@yaho..co.uk'));
我已经尝试了几乎所有的正则表达式解决方案,但我仍然能够绕过以下电子邮件的验证 -
test_test_test@yaho..co.uk
我需要使用 Javascript
将此电子邮件标记为无效。请分享我可以用来将上述电子邮件标记为无效的正确正则表达式。
试试这个:
function validateEmail(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);
}
console.log(validateEmail("test_test_test@yaho..co.uk"));
console.log(validateEmail("test_test_test@yaho.co.uk"));
您可以使用来自 Regex101
的 this one我认为您之前的正则表达式可能不小心将 \.
包含在带有 +
量词的字符列表中,因此 @xx..co
仍然可以绕过
var regex = /^[0-9a-zA-Z-_$#]+@[0-9a-zA-Z-_$#]+\.[a-zA-Z]{2,5}/;
console.log(regex.test('test_test_test@yaho..co.uk'));