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范围内添加复选标记。除非您突出显示输入文本并按退格键(或者如果您按住退格键以便在一次击键中删除输入),一切都可以正常工作。在这些情况下,无论触发什么事件(点击,焦点等),复选标记都会保留。在所有浏览器中,行为似乎都是相同的。有什么想法有什么不对吗?
答案 0 :(得分:0)
试试这个http://jsfiddle.net/Pq5Ut/并告诉我这是否有助于你解决问题。我知道我没有使用与您相同的电子邮件验证,但我觉得它可能就是您想要的。
仅供参考,我正在使用的电子邮件正则表达式刚刚从jQuery验证插件中提取。