js校验简单实现

来源:互联网 发布:系统编程 编辑:程序博客网 时间:2024/05/20 05:26


/*<input type="text"name="open_id" isNull="notnull" minLen="4" maxLen="10" dataType="email|code|title|password|tel|INTEGER"   value="${open_id}"/> * */   $.fn.validation = function(obj){var result = {check:true};var attr = ["minLen","caption","maxLen","isNull","dataType"]//获取obj中所有对象, 只要有一个对象不符合就返回$(this).find("input").each(function(){//console.log($(this).is(":hidden"));if($(this).css("display") != "none"){var o = {};var that = $(this);for(var i = 0 ; i < attr.length; i++) {o[attr[i]] = that.attr(attr[i]);}o['val'] = that.val();var msg = check(o);if('' != msg) {var list = result['list'];if(!list) {list = [];result['list'] = list;}result.check = false;list.push({obj:that,msg:msg});}console.log($(this).val());}});return result;}function check(o) {//var o = obj[e];//取出对象中所有的限制条件  obj[e].minLenvar caption = o.caption ? o.caption:'';var val = o.val ? o.val:'';var minLen = o.minLen ? o.minLen:-1;var maxLen = o.maxLen ? o.maxLen:-1;var isNull = o.isNull ? o.isNull:-1;var datatype = o.datatype ? o.datatype:-1;var len = val.length;//先判断是否为空if(isNull!=-1 && /^notnull$/i.test(isNull) && len==0){return caption+"不允许为空,请重新输入!";}//判断是否符合最小长度if(minLen!=-1 && /^([0-9])([0-9])*$/.test(minLen)){var t = val.replace(/[^\x00-\xff]/g,"AA");if(t.length < minLen){return caption + "输入长度不能小于"+minLen+"\r\n\r\n目前您输入的长度为(一个汉字占两个长度位置):"+t.length;}}//判断是否符合最大长度if(maxLen!=-1 && /^([0-9])([0-9])*$/.test(maxLen)){var t = val.replace(/[^\x00-\xff]/g,"AA");if(t.length > maxLen){return caption + "输入长度不能超过"+maxLen+"\r\n\r\n目前您输入的长度为(一个汉字占两个长度位置):"+t.length;}}//判断特殊内容验证if(datatype!=-1){if(/^email$/i.test(datatype)){var reg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;if(!reg.test(val)){return caption + "不合法,请重新输入!";}}if(/^code$/i.test(datatype)){if (!/^\w+$/.test(val)){return caption + "必须由字母、数字及下划线组成,请重新输入!";}}if(/^title$/i.test(datatype)){if(!/^[a-z\u4E00-\u9FA5]+$/i.test(val)){return caption + "只能输入中文或字母,请重新输入!"}}if(/^passowrd$/i.test(datatype)){var reg = /^([a-zA-Z0-9])*([a-zA-Z0-9])*$"/;if(!reg.test(val)){return caption + "输入必须为数字或字母!";}}if(/^tel$/i.test(datatype)){var reg = /^([0-9])*-?([0-9])*$/;if(!reg.test(val)){return caption + "输入必须为-或数字!";}}if(/^INTEGER$/i.test(datatype)){console.log(val)if(/^(-|\+)+/.test(val)){return caption + "输入不能带有正负(+,-)符号,只能是正整数!";}if(/(\.)+/.test(val)){return caption + "输入不能带有小数点(.)符号,只能是整数!";}}}return '';}


0 0
原创粉丝点击