jquery登录的异步验证操作示例
2019-12-11 12:11
1731 查看
本文实例讲述了jquery登录的异步验证操作。分享给大家供大家参考,具体如下:
//定义一个json var 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程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- jQuery异步验证用户名是否存在示例代码
- asp.net登录注册验证(jquery异步调用)
- jQuery入门学习二:使用jQuery方式实现异步登录验证
- jquery登录的异步验证
- jQuery异步验证用户名是否存在示例代码
- 对Jquery中的ajax再封装,简化操作示例
- springboot实现拦截器之验证登录示例
- jquery验证(示例一)
- 数据库开发基本操作-配置SQL Server 2005 Express的身份验证方式,以及如何启用sa登录名
- java ajax jquery 异步 操作笔记
- JQuery FlexiGrid的asp.net完美解决方案:dotNetFlexGrid-asp.net原生的异步表格控件登录 开源中国
- MVC模式编程示例-登录验证(静态)
- jQuery使用动画队列自定义动画操作示例
- Asp.net 更改Alert样式和后台注册Jquery的Ajax异步提交事件[包括处理前操作、处理后操作(注明:此方法只是作为参考,如有需要可自行修改)]
- jquery中dom操作和事件的实例学习-表单验证
- 通过操作jQuery利用正则验证用户登陆注册
- jquery validate异步验证时多参数传递
- Servlet入门----连接MySql数据库,实现登录验证操作
- jQuery中ajax异步操作 (包括$.ajax() load() $.get() $.post()等)
- jQuery表单验证简单示例