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范围内放置一个复选标记。除非突出显示输入文本并按退格键(或者按住退格键,以便在一次击键中删除输入),否则一切都会正常工作。在这些情况下,无论触发什么事件(单击、聚焦等),复选标记都保持不变。这种行为在所有浏览器中似乎都是一样的。知道出什么事了吗?
发布于 2011-11-25 19:37:37
试试这个http://jsfiddle.net/Pq5Ut/,如果对你有帮助,请告诉我。我知道我没有使用和你一样的电子邮件验证,但我觉得这可能是你想要的。
仅供参考,我使用的电子邮件正则表达式是从jQuery验证插件中提取的。
https://stackoverflow.com/questions/8273432
复制相似问题