尝试进行电子邮件验证,但它无法按预期工作

时间:2013-04-05 21:08:15

标签: javascript jquery

我只是使用jQuery进行一些表单验证,这是电子邮件的一部分:

var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
var email = $('#user_email');
$('#user_email').on('keyup change', function() {
      if ((email.val().length <= 6) && (re.test(email.val()))) {
        $('#alert_user_email').text('Email cannot be blank or invalid formation');
        submit_btn.disabled = true;
        $('#alert_user_email').show();
      } else {
        $('#alert_user_email').text('');
        submit_btn.disabled = false;
        $('#alert_user_email').hide();
      }
    });

但由于某种原因,它无法正常工作,如果我从&& re.test语句中移除if内容但未按预期工作,一切正常,任何启示都会很棒!

1 个答案:

答案 0 :(得分:5)

您的if声明不正确。尝试:

if ((email.val().length <= 6) || !(re.test(email.val()))) {
    // your code
}