我正在做一个电子邮件注册表格作为培训练习,我想用jquery检查地址是否正确。
到目前为止,我已经能够编写以下代码:
var validateEmail = function(email){
if(email.includes(' ')){return false};
if(!email.includes('@')){return false};
return true;
}
这段代码完美无缺,但不幸的是,当没有地址的最后一部分时,表格会被验证,也就是说:“。com”“。fr”等等。如果有人可以提供,那么这些都是新开发的我请跟踪:)
我提前谢谢你了!
答案 0 :(得分:5)
您可以使用常规javascript
function isEmail(email) {
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
答案 1 :(得分:5)
emailValidate()函数将接受参数(sEmail)并使用正则表达式验证电子邮件地址。 从这段代码中获取帮助:
function emailValidate(sEmail) {
var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
if (filter.test(sEmail)) {
return true;
}
else {
return false;
}
}
现在,您只需要使用按钮点击事件调用此函数。
答案 2 :(得分:2)
检查电子邮件的验证有点简单。
当然它没有最后一部分,因为你只检查@
符号。
相反,您可以使用正则表达式进行更一般的检查:
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,}))$/;
var isAnEmail = re.test(email.toLowerCase());
答案 3 :(得分:2)
您可以使用正则表达式轻松完成此操作。
var validateEmail = function(email){
var regexForEmailValidation = /^\w+([-+.'][^\s]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
var emailFormat = regexForEmailValidation.test($(email).val());// this returns result in boolean type
// do whatever you wish to do here
}