现在很多网站的注册模块都可以实现即时检查格式是否正确,这样极大的增强了用户体验,对开发非常有利。

下面的代码是利用jquery实现了对一个表单字段格式的即时检查(包括字段长度、邮箱格式),同时在提交时,再次出发检查事件。

注意这个检查是keyup和focus上为主,利用这两个事件来触发blur(失去焦点)事件。

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script src="jquery-1.3.2.min.js"></script>
<script>
$(function () {
        //为每个必填字段后面加上*
$("form :input.required").each(function () {
var $required = $("<strong class='high'>*</strong>");
$(this).parent().append($required);
});
        //textbox失去焦点事件
$("form :input").blur(function () {
var $parent = $(this).parent();
$parent.find(".formtips").remove();
if ($(this).is('#username')) {
if (this.value == "" || this.value.length < 6) {
var errorMsg = "请输入至少6位的用户名";
$parent.append('<span class="formtips onError">' + errorMsg + "</span>");
} else {
var okMsg = "输入正确"
$parent.append('<span class="formtips onSuccess">' + okMsg + '</span>');
}
}
if ($(this).is('#email')) {
if (this.value == "" || (this.value != "" && !/.+@.+\.[a-zA-Z]{2,4}$/.test(this.value))) {
var errorMsg = "请输入正确的E-Mail地址";
$parent.append('<span class="formtips onError">' + errorMsg + "</span>");
} else {
var okMsg = "输入正确"
$parent.append('<span class="formtips onSuccess">' + okMsg + '</span>');
}
}
}).keyup(function () {
$(this).triggerHandler("blur");//keyup和focus利用triggerHandler来触发blur事件
}).focus(function () {
$(this).triggerHandler("blur");
});
$("#send").click(function () {//提交按钮事件
$("form .required:input").trigger('blur');
var numError = $('form .onError').length;
if(numError)
{
return false;
}
alert("注册成功,密码已发到你的邮箱,请查收");
});
}); </script>
</head>
<body>
<form method="post" action="">
<div class="int">
<label for="username">用户名</label>
<input type="text" id="username" class="required" />
</div>
<div class="int">
<label for="email">邮箱</label>
<input type="text" id="email" class="required" />
</div>
<div class="int">
<label for="=personinfo">个人资料</label>
<input type="text" id="personinfo" />
</div>
<div class="sub">
<input type="submit" value="提交" id="send" />
<input type="reset" id="res" />
</div>
</form>
</body>
</html>

最新文章

  1. C#遍历得到checkboxlist选中值和设置选中项
  2. Poisson Image Editing
  3. FAT32文件系统--For TF卡
  4. Oracle core03_ACID
  5. 编程思想—依赖注入(DI)并非实现控制反转(IOC)的最佳方法
  6. MyEclipse java was started but returned exit code=-1
  7. poj2484--A Funny♂Game
  8. AdapterView及其子类之一:基本原理(ListView、ListActivity类型)
  9. FZU 1054 阅读顺序
  10. [Git]05 如何使用分支
  11. SQL SERVER大话存储结构(2)_非聚集索引如何查找到行记录
  12. Python实战之int学习笔记及简单练习
  13. 试着简单易懂记录synchronized this object Class的区别,模拟ConcurrentHashMap
  14. jpgraph 折线图--解决中文乱码的问题(标题和图例)
  15. mitmproxy,mitmdump
  16. 59.phpstudy升级Mysql的正确姿势
  17. 第一次Spring总结
  18. VHDL 例程
  19. 如何将购物车信息存到Redis中?
  20. Linux每日小技巧---统计服务器IP连接数

热门文章

  1. 用户管理 之 Linux 系统中的超级权限的控制
  2. Android 5.1 AOSP 源码获取
  3. 为Ubuntu笔记本电脑设置WiFi热点共享上网
  4. LeetCode:5_Longest Palindromic Substring | 最长的回文子串 | Medium
  5. Oracle 物化视图 说明
  6. zk框架销毁Page上的Component
  7. Struts2知多少(2) Struts2 是什么
  8. [Git] Git 常用技巧
  9. mysql安装出现error Nr.1045 (转)
  10. 两分钟了解REACTIVEX