0

我只是用 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但没有按预期工作,一切都会正常工作,任何启示都会很棒!

4

1 回答 1

5

你的if说法不正确。尝试:

if ((email.val().length <= 6) || !(re.test(email.val()))) {
    // your code
}
于 2013-04-05T21:14:44.623 回答