- //javascript表单验证插件
- //author:向
- //代码整理于筑家易电子商务注册页面(http://hz.zhujia360.com/association/index)
- $.validate = function (options){
- //验证状态
- var status = 0;
- if (typeof options != 'object'){
- return 'your args is not a object';
- }
- //用户名验证
- //验证用户名,需要用户名表单的唯一id(input),提示信息的唯一id(message),用户名的长度等(length)
- if (options.type =='username'){
- status = 0;
- var username = $("#"+options.input);
- var message = $("#"+options.message);
- if ( username.val().length == 0 ){
- username.focus(function(){
- message.html("请输入会员名,推荐使用真实姓名!");
- });
- }
- username.keyup(function(){
- //开始验证
- if (typeof options.length != 'undefined' ){
- if (username.val().length < options.length ){
- message.html("用户名至少"+options.length+"位!");
- return false;
- }
- }
- if (username.val().length != '' || username.val().length != 0){
- message.html("<span style='color:green;'>OK</span>");
- status = 1;
- }else {
- message.html("请输入会员名,推荐使用真实姓名!");
- }
- });
- }
- //密码验证
- //验证密码,需要密码输入框唯一id(input),提示信息的唯一id(message),密码长度等(length)
- if ( options.type == 'password'){
- status = 0;
- var password = $("#"+options.input);
- var message = $("#"+options.message);
- if (password.val().length == 0) {
- password.focus(function(){
- message.html("密码为6-16个半角字符,可使用英文字母、数字和符号的组合,区分大小写!");
- });
- }
- password.keyup(function(){
- if (typeof options.length != 'undefined'){
- if (password.val().length < options.length ){
- message.html("密码至少"+options.length+"位!");
- return false;
- }
- }
- message.html("<span style='color:green;'>OK</span>");
- status = 1;
- });
- }
- //密码确认
- //验证二次输入的密码 需要密码输入框唯一id(input) 再次输入密码框的唯一id(validate) 消息提示框id(message)
- if ( options.type == 'confirm' ){
- status = 0;
- var password = $("#"+options.input);
- var validate = $("#"+options.validate);
- var message = $("#"+options.message);
- validate.focus(function(){
- if (validate.val().length == 0 ){
- message.html("请再输入一次密码!");
- }
- });
- validate.keyup(function(){
- if(validate.val() == password.val() ){
- message.html("<span style='color:green;'>OK</span>");
- status = 1;
- }else {
- message.html("两次密码不一致!");
- }
- });
- }
- //验证手机号
- //验证手机号 需要手机号码输入框唯一id(input) 消息提示框id(message)
- //如果需要连接后端验证手机号码是否已经被使用,需要url 和 data_type (GET or POST)
- if ( options.type == 'mobile'){
- status = 0;
- //手机号码证
- var mobile = $("#"+options.input);
- var message = $("#"+options.message);
- //手机号码格式正则
- format = /^1[3-9]\\d{9}$/;
- mobile.focus(function(){
- if (mobile.val().length == 0){
- message.html("请输入手机号码,用作登录、找回密码等!");
- return false;
- }
- });
- mobile.keyup(function(){
- //验证手机号码是否有重复
- if ( mobile.val().length == 11 ) {
- //格式时候正确
- if(format.test(mobile.val())){
- //是否通过ajax判断手机号码是否有重复,需要服务器端有API
- if ( typeof options.url != 'undefined') {
- $.ajax({
- type:options.data_type,
- url:options.url,
- data:'mobile='+mobile.val(),
- success:function(data){
- if (parseInt(data) == 1 ){
- message.html("该手机号已经被注册!");
- return false;
- }
- if (parseInt(data) == 2 ){
- message.html("<span style='color:green;'>OK</span>");
- status = 1;
- }
- }
- });
- } else {
- message.html("<span style='color:green;'>OK</span>");
- status = 1;
- }
- }else {
- if (mobile.val().length == 0){
- message.html("请输入您的手机号");
- return false;
- }else {
- message.html("请输入有效的手机号码!");
- return false;
- }
- }
- } else {
- message.html("请输入有效的手机号码!");
- return false;
- }
- });
- }
- //判断验证码是否正确
- //验证码输入框唯一id(input) 提示信息显示唯一id(message) 验证码的长度length
- //如需要实时判断验证码是否正确,需要使用ajax 请接着传入判断接口地址url 以及数据发送方式 data_type
- if ( options.type == 'captcha'){
- status = 0;
- var code = $('#'+options.input);
- var message = $('#'+options.message);
- code.keyup(function(){
- if (code.val().length == options.length ) {
- //ajax 判断验证码是否正确
- if (typeof options.url != 'undefined') {
- $.ajax({
- type:options.data_type,
- url:options.url,
- data:'code=' + code.val(),
- success:function(result){
- if ( parseInt(result) == 1) {
- message.html("<span style='color:green;'>OK</span>");
- status = 1;
- }else {
- message.html("验证码错误");
- return false;
- }
- },
- });
- } else {
- message.html("<span style='color:green;'>OK</span>");
- status = 1;
- }
- } else {
- message.html("请保证验证码的长度为"+options.length+"!");
- return false;
- }
- });
- }
- };
- //该片段来自于http://www.codesnippet.cn/detail/120320149002.html
来源: http://www.codesnippet.cn/detail/120320149002.html