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

Dat*_*sik 0 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();
      }
    });
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,它不起作用,如果我&& re.testif声明中删除了一些内容但是没有按预期工作,一切正常,任何启示都会很棒!

Int*_*ual 5

你的if陈述不正确.尝试:

if ((email.val().length <= 6) || !(re.test(email.val()))) {
    // your code
}
Run Code Online (Sandbox Code Playgroud)