时间:2021-05-26
本文实例讲述了jquery登录的异步验证操作。分享给大家供大家参考,具体如下:
//定义一个jsonvar validate = { username : false, pwd : false, pwded : false, verify : false, loginUsername : false, loginPwd :false}//存储错误信息var $msg = "";//验证注册表单$(function(){ //获取表单对象 var register = $('form[name=register'); register.submit(function(){ var isOK = validate.username && validate.pwd && validate.pwded && validate.verify; if(isOK){ return true; } //点击提交按钮依次触发失去焦点再次验证 $('input[name=username]',register).trigger('blur'); $('input[name=pwd]',register).trigger('blur'); $('input[name=pwded]',register).trigger('blur'); $('input[name=verify]',register).trigger('blur'); return false; }); //验证用户名 $('input[name=username]',register).blur(function(){ var username = $(this).val(); var span = $(this).next(); //用户名不能为空 if(username == ''){ msg = '用户名不能为空'; span.html(msg).addClass('error'); validate.username = false; return; } //正则判断 if(!/^\w{2,14}$/g.test(username)){ msg = '必须是2-14个字符,字母,数字,下划线'; span.html(msg).addClass('error'); validate.username = false; return; } //异步验证用户名是否存在 $.post(APP + '/Reg/ajax_username',{username : username},function(status){ console.log(status); if(status){ msg = '通过检测'; span.html(msg).removeClass('error'); validate.username = true; }else{ msg = '用户名已经存在'; span.html(msg).addClass('error'); validate.username = false; } },'json'); }); //验证密码 $('input[name=pwd]',register).blur(function(){ var pwd = $(this).val(); var span = $(this).next(); //密码不能为空 if(pwd == ''){ msg = '密码不能为空'; span.html(msg).addClass('error'); validate.pwd = false; return; } //正则验证 if(!/^\w{6,20}$/g.test(pwd)){ msg = '密码必须由6-20个字母,数字,或者下划线组成'; span.html(msg).addClass('error'); validate.pwd = false; return; } msg = '通过检测'; span.html(msg).removeClass('error'); validate.pwd = true; }); //确认密码 $('input[name=pwded]',register).blur(function(){ var pwded = $(this).val(); var span = $(this).next(); //确认密码 if(pwded == ''){ msg = '请确认密码'; span.html(msg).addClass('error'); validate.pwded = false; return; } //判断密码是否一致 if(pwded != $('input[name=pwd]',register).val()){ msg = '密码不一致'; span.html(msg).addClass('error'); validate.pwded = false; returnl; } msg = '通过检测'; span.html(msg).removeClass('error'); validate.pwded = true; }); //验证验证码 $('input[name=verify]',register).blur(function(){ var verify = $(this).val(); var span = $(this).next().next(); //不能为空 if(verify == ''){ msg = '请输入验证码'; span.html(msg).addClass('error'); validate.verify = false; return; } //异步判断验证码 $.post(APP + '/Reg/ajax_code',{verify : verify},function(status){ if(status){ msg = '通过检测'; span.html(msg).removeClass('error'); validate.verify = true; }else{ msg = '验证码错误'; span.html(msg).addClass('error'); validate.verify = false; return; } },'json'); }); //登录form表单验证 var login = $('form[name=login]'); //登录提交事件 login.submit(function(){ if(validate.loginUsername && validate.loginPwd){ return true; } //依次触发失去焦点动作 $('input[name=username]',login).trigger('blur'); $('input[name=pwd',login).trigger('blur'); return false; }); //验证登录用户名 $('input[name=username]',login).blur(function(){ var username = $(this).val(); var span = $('#login-msg'); //判断是否为空 if(username == ''){ msg = '请输入账号'; span.html(msg).addClass('error'); validate.loginUsername = false; return; } msg = ''; span.html(msg); validate.loginUsername = true; }); //验证登录密码 $('input[name=pwd]',login).blur(function(){ var pwd = $(this).val(); var span = $('#login-msg'); //判断登录密码是否为空 if(pwd == ''){ msg = '请输入密码'; span.html(msg).addClass('error'); validate.loginPwd = false; return; } var data = { username : $('input[name=username]',login).val(), pwd : pwd }; //异步验证 $.post(APP + '/Login/ajax_login',data,function(status){ if(status){ msg = ''; span.html(msg).removeClass('error'); validate.loginUsername = true; validate.loginPwd = true; }else{ msg = '用户名或密码错误'; span.html(msg).addClass('error'); validate.loginUsername = false; validate.loginPwd = false; } },'json'); msg = ''; span.html(msg); validate.loginPwd = true; });})PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
更多关于jQuery相关内容可查看本站专题:《jQuery正则表达式用法总结》、《jQuery字符串操作技巧总结》、《jQuery操作xml技巧总结》、《jQuery扩展技巧总结》、《jquery选择器用法总结》及《jQuery常用插件及用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文介绍了thinkphp5使用bootstrapvalidator进行异步验证邮箱的示例,分享给大家,具体如下:js验证/***CreatedbyHONGXI
本文实例讲述了JQuery异步提交表单与文件上传功能。分享给大家供大家参考,具体如下:Jquery.form.js是一个可以异步提交表单及上传文件的插件。示例如
本文实例讲述了Ajax异步方式实现登录与验证的详细代码,分享给大家供大家参考。具体如下:登录代码这个是使用Bootstrap3的组件功能实现的登录登录异步登录请
现在有个需求就是异步验证用户名是否存在。用的技术是jQuery异步验证和struts2(其实springMVC也是一样的道理,都只是一个控制器).表单:复制代码
jquery框架中提供了$.ajax、$.get、$.post方法,用于进行异步交互,由于Django中默认使用CSRF约束,推荐使用$.get示例:实现省市区