Javascript 电子邮件验证问题

Javascript 电子邮件验证问题,javascript,Javascript,我正在验证用户的电子邮件地址。但当我调用该函数并在未验证电子邮件地址的情况下提交表单时,问题出现了。请告诉我那个密码有什么问题 function validateEmail(fld) { var error=""; var tfld = trim(fld.value); var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ; var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\

我正在验证用户的电子邮件地址。但当我调用该函数并在未验证电子邮件地址的情况下提交表单时,问题出现了。请告诉我那个密码有什么问题

function validateEmail(fld) {
var error="";
var tfld = trim(fld.value);                   
var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
if (fld.value == "") {
    fld.style.background = 'Pink';
    error = "You didn't enter an email address.\n";
} else if (!emailFilter.test(tfld)) {         
    fld.style.background = 'Pink';
    error = "Please enter a valid email address.\n";
} else if (fld.value.match(illegalChars)) {
    fld.style.background = 'Pink';
    error = "The email address contains illegal characters.\n";
} else {
    fld.style.background = 'White';
}
return error; }

试试看

始终返回true或false:-

 function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value);                   
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
    if (fld.value == "") {
        fld.style.background = 'Pink';
        error = "You didn't enter an email address.\n";
    } else if (!emailFilter.test(tfld)) {         
        fld.style.background = 'Pink';
        error = "Please enter a valid email address.\n";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = 'Pink';
        error = "The email address contains illegal characters.\n";
    } else {
        fld.style.background = 'White';
    }
    if (error == '')
    {
       return true;
    }
    else
    {
      alert(error);
      return false;
    }
}

按如下方式调用函数:-

 <input type="submit" onsubmit="return validateEmail(email.val)">

请告诉我和每个人问题是什么,即您收到了什么错误消息,或者您期望的输出是什么,以及实际输出是如何不同的。特别是,如果表单未经验证就提交,那么您的问题肯定在于表单,而不是此函数,除非我误解了。如果我将字段留空,那么它会告诉您没有输入电子邮件地址,但当我输入非法字符时,它就不起作用。并且始终在服务器端执行最终验证。不要依赖用户打开JavaScript!而且也不要依赖用户实际使用HTML代码发送数据…
 <input type="submit" onsubmit="return validateEmail(email.val)">