退格时jQuery电子邮件验证失败

时间:2011-11-25 19:23:57

标签: jquery validation events email backspace

function validate_email() {
    atsplit = $('input[name=email]').val().split('@');
    dotsplit = atsplit[1].split('.');
    if (atsplit.length == 2 && atsplit[0].length > 0 && dotsplit[dotsplit.length-1].length > 0 && dotsplit[dotsplit.length-2].length > 0) {
        $('#email').html('✔');
        valid_email = true; 
    }
    else {
        $('#email').html('');
        valid_email = false;
    }
}
$('*').live('change click focusout keyup submit', function(){
    validate_email();
});

我正在尝试验证电子邮件地址。如果电子邮件有效,则会在#email范围内添加复选标记。除非您突出显示输入文本并按退格键(或者如果您按住退格键以便在一次击键中删除输入),一切都可以正常工作。在这些情况下,无论触发什么事件(点击,焦点等),复选标记都会保留。在所有浏览器中,行为似乎都是相同的。有什么想法有什么不对吗?

1 个答案:

答案 0 :(得分:0)

试试这个http://jsfiddle.net/Pq5Ut/并告诉我这是否有助于你解决问题。我知道我没有使用与您相同的电子邮件验证,但我觉得它可能就是您想要的。

仅供参考,我正在使用的电子邮件正则表达式刚刚从jQuery验证插件中提取。