验证电子邮件上的键和标签
Validate email on keyup and tab
我成功地处理了keyup上的用户输入,但当用户按tab键时,我有一个问题要处理。
这是我目前的代码:var doneTypingInterval = 1000;
// Handle on keyup
$('#f-name').keyup(function() {
clearTimeout( typingTimer );
if($(this).val) {
typingTimer = setTimeout( doneTypingUsername, doneTypingInterval );
}
});
// Handle on tab-press
$('#f-name').on(function(e) {
var keyCode = e.keyCode || e.which;
clearTimeout( typingTimer );
if(keyCode == 9) {
e.preventDefault();
typingTimer = setTimeout( doneTypingUsername, doneTypingInterval );
}
});
// Error handler
function doneTypingUsername() {
if($('#f-name').val() == '') {
$('#f-name').siblings('.case1').fadeIn(500);
$('#f-name').siblings('.case2').hide();
valid_name_f = false;
} else {
if(!isValidUsername($('#f-name').val())) {
$('#f-name').siblings('.case1').hide();
$('#f-name').siblings('.case2').fadeIn(500);
valid_name_f = false;
} else {
$('#f-name').siblings('.case1').hide();
$('#f-name').siblings('.case2').hide();
valid_name_f = true;
set_name_timer = false;
}
}
checkForm();
}
就我运行的代码而言,它工作得很好。然而,我认为我处理tab-press的方式是不对的。既然按下键和按下tab将执行相同的事情,是否有更好的方法来处理这两个一起?
你的jquery显示
$('#f-name').keyup(function() {
和
$('#f-name').on(function(e) {
使用
可以更有效率function functionName(e){
//do your timer and validation here
}
$(document).on('keyup', '#f-name', functionName(e));
$(document).on('blur', '#f-name', functionName(e));
虽然这不是最干净的解决方案,但它应该在两种情况下完成您的电子邮件验证
相关文章:
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 使用angularjs验证文本框中的电子邮件
- 使用正则表达式评估电子邮件地址时出现性能问题
- javascript中添加验证电子邮件的问题
- 如何在收到电子邮件时自动调用脚本
- 获取屏幕截图并在电子邮件中发送的按钮
- 将项目履行与高级模板合并,并通过电子邮件发送至Netsuite 2.0
- php&js-将电子邮件添加到输入文本中
- Mailto 标签将文本放入电子邮件的“收件人”字段中,而不是移动设备上的主题
- 在Gmail中为电子邮件添加标签失败
- <a>超文本电子邮件链接的标签.JS搞砸了我的下拉列表,因为它是基于<a>标签
- 电子邮件跟踪在Gmail使用图像标签
- 验证电子邮件上的键和标签
- 谷歌脚本的Gmail删除电子邮件与*仅*指定的标签
- 如何使用h2标签的内容作为电子邮件的主题
- 浏览器标签更改通知,比如当你收到新的gmail电子邮件或Twitter上的新tweet时
- Google Apps脚本:为发送的电子邮件添加标签
- 如何通过电子邮件发送Div标签内容使用php表单
- 在Android电子邮件客户端显示HTML标签的问题
- 使用 zf2 验证电子邮件地址.错误消息应显示在标签中,而不刷新整个页面