我只是使用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
内容但未按预期工作,一切正常,任何启示都会很棒!
答案 0 :(得分:5)
您的if
声明不正确。尝试:
if ((email.val().length <= 6) || !(re.test(email.val()))) {
// your code
}