基于jquery实现即时检查格式是否正确的表单

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

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

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

<html> <head> <meta charset="utf-8" /> <title></title> <link href="https://www.jb51.net/css/style.css" type="text/css" /> <script src="https://www.jb51.net/jquery-1.3.2.min.js"></script> <script> $(function () {         //为每个必填字段后面加上* $("form :input.required").each(function () { var $required = $("<strong>*</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>' + errorMsg + "</span>"); } else { var okMsg = "输入正确" $parent.append('<span>' + 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>' + errorMsg + "</span>"); } else { var okMsg = "输入正确" $parent.append('<span>' + 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> <label for="username">用户名</label> <input type="text" /> </div> <div> <label for="email">邮箱</label> <input type="text" /> </div> <div> <label for="=personinfo">个人资料</label> <input type="text" /> </div> <div> <input type="submit" value="提交" /> <input type="reset" /> </div> </form> </body> </html>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzpsjy.html