您的位置:首页 > Web前端 > JavaScript

JS表单验证组件浅讲

2014-03-22 22:06 489 查看

//验证器

Checker =function(){

}

//必验证项集合

Checker.items=new Array();

//获取数组的大小

Array.size=function(obj){

return length(obj);

}

//长度验证--可由此定义常规的验证

Checker.lenCheck=function(obj,min,max,isReq,msg_info,msg_ok,msg_error){

joinReq(obj,isReq);

$(obj).blur(function(){

if($(obj).val().length.trim()>=min&&$(obj).val().length.trim()<max){

Checker.items[$(this).attr("id")]=true;

$("#msg").html(msg_ok);

}else{

Checker.items[$(this).attr("id")]=false;

$("#msg").html(msg_error);//注意此处只是引子,具体业务需要编写相应的组件

}

}).focus(function(){

//加入提示功能

});

};

//如果必要项,加入必验证数据集

joinReq=function(obj,isReq){

if(isReq){

var id=$(obj).attr("id");

Checker.items[id]=false;

}

};

$(function(){

$("#frm").submit(function(){//绑定表单提交事件

//遍历确认其中是存在验证没有通过项

var len=Array.size(Checker.items));

var isPass=true;

for(var o in Checker.items){

if(!Checker.items[o]){//等于false说明该项为必验项,但可能还没有输入(没有验证),也有可能是输入后,但验证未通过项

$(o).blur(); //触发验证

isPass=false;

}

}

return isPass;

});

});

function length(obj){

if(typeof(obj)=='string'){

return obj.length;

}else if(typeof(obj)=='object'){

var i=0;

for(var t in obj){

i++;

}

return i;

}else{

return 0;

}

}

$(function(){

Checker.lenCheck($("#userName"),2,10,true,"用户名不能为空","OK",“ERROR”);

Checker.lenCheck($("#password"),2,10,true,"密码不能为空","OK",“ERROR”);

Checker.lenCheck($("#email"),2,10,true,"邮箱不能为空","OK",“ERROR”);

});


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: