function trimSpace(ids){ var aftertrim=$("#"+ids).val(); $("#"+ids).val(aftertrim.replace(/(^\s*)|(\s*$)/g,'')) ; } /** * 显示提示 * @param obj * @param type * @return */ function appendWarning(obj,type){ /* if(jQuery.trim(jQuery(".warnspan").html()) != "") return;*/ if(jQuery(obj).next().html()==undefined){ jQuery(obj).parent().append(" "+getMeg(type)+""); } } /** * 校验方法入口 是否为空 * @return */ function validate_id_empty(ids){ jQuery("span").remove(".warnspan"); /** * 不能为空的验证,用例如下:class="req" */ for(var j=0;j1){ type=myid[1]; } if(type=="req"&&(jQuery("#"+myid[0])[0].type=="checkbox"||jQuery("#"+myid[0])[0].type=="radio")){ checkitCR(jQuery("#"+myid[0])[0].name); }else{ jQuery("#"+myid[0]).each(function(i){checkit(this,type)}); } } if(jQuery.trim(jQuery(".warnspan").html()) == ""){ return true; }else{ return false; } } /** * 校验方法入口 是否为空 * name 根据name 校验必填 * @return */ function checkitCR(name){ var flag = false; var test = $("input[name='"+name+"']").each(function(i, o){ if($(o).is(':checked')){ flag = true; } }); if(flag == false){ appendWarning($("input[name='"+name+"']")[0],"req"); return; } } /** * 校验方法入口 是否为空 * type int float phone * @return */ function validate_id_type(id,type){ jQuery("span").remove(".warnspan"); /** * 不能为空的验证,用例如下:class="req" */ jQuery("#"+id).each(function(i){checkittype(this,type)}); if(jQuery.trim(jQuery(".warnspan").html()) == ""){ return true; }else{ return false; } } /** * 校验合法性 * @param obj * @param i * @return */ function checkit(obj,type){ if(type.indexOf("req")>-1){ if(jQuery(obj).val() == ""){ appendWarning(obj,"req"); return; }else{ checkittype(obj,type.replace("req-","")); } }else if(type.length>0&&type.indexOf("req-")==-1){ checkittype(obj,type); } } /** * 身份证号码验证 * */ var powers=new Array("7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2"); var parityBit=new Array("1","0","X","9","8","7","6","5","4","3","2"); var sex="male"; //校验身份证号码的主调用 function validId(obj){ var _id=obj.value; if(_id=="")return; var _valid=false; if(_id.length==15){ _valid=validId15(_id); }else if(_id.length==18){ _valid=validId18(_id); } if(!_valid){ return false; } return true; } //校验18位的身份证号码 function validId18(_id){ _id=_id+""; var _num=_id.substr(0,17); var _parityBit=_id.substr(17); var _power=0; for(var i=0;i< 17;i++){ //校验每一位的合法性 if(_num.charAt(i)<'0'||_num.charAt(i)>'9'){ return false; break; }else{ //加权 _power+=parseInt(_num.charAt(i))*parseInt(powers[i]); } } var mod=parseInt(_power)%11; if(parityBit[mod]==_parityBit){ return true; } return false; } //校验15位的身份证号码 function validId15(_id){ _id=_id+""; for(var i=0;i<_id.length;i++){ //校验每一位的合法性 if(_id.charAt(i)<'0'||_id.charAt(i)>'9'){ return false; break; } } var year=_id.substr(6,2); var month=_id.substr(8,2); var day=_id.substr(10,2); var sexBit=_id.substr(14); if(year<'01'||year >'90')return false; if(month<'01'||month >'12')return false; if(day<'01'||day >'31')return false; if(sexBit%2==0){ sex="female"; }else{ sex="male"; } return true; } /** * 校验合法性 * @param obj * @param i * @return */ function checkittype(obj,type){ jQuery(obj).next().remove(".warnspan"); if(jQuery(obj).val() == ""){ return; } if(type == "int" || type == "pint"){ var sl = parseInt(jQuery(obj).val()); if (isNaN(jQuery(obj).val())){ appendWarning(obj,type); jQuery(obj).val(''); obj.focus(); return; }else if(type == "pint"){ if(sl < 0){ appendWarning(obj,type); jQuery(obj).val(''); obj.focus(); return; } } if(jQuery(obj).val().indexOf(".") != -1){ appendWarning(obj,type); jQuery(obj).val(''); obj.focus(); return; } }else if(type == "email"){ var filter=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/; if(!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0){ appendWarning(obj, "email"); jQuery(obj).val(''); obj.focus(); return; } }else if(type == "float"){ var filter=/^-?\d+\.?\d*$/; //实数 if(!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0){ appendWarning(obj, "float"); jQuery(obj).val(''); obj.focus(); return; } }else if(type == "phone"){//座机固话 var filter=/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/; if(!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0){ appendWarning(obj, "phone"); jQuery(obj).val(''); obj.focus(); return; } }else if(type == "postalcode"){//邮政编码 var filter=/[0-9]\d{5}(?!\d)/; if(!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0){ appendWarning(obj, "postalcode"); jQuery(obj).val(''); obj.focus(); return; } }else if(type == "fax"){//传真号码 var filter=/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/; if(!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0){ appendWarning(obj, "fax"); jQuery(obj).val(''); obj.focus(); return; } }else if(type == "mobile"){ //手机号码 //var filter = /^(?:13\d|15\d{1}|17\d{1}|18\d{1})-?\d{5}(\d{3}|\*{3})$/; var filter = /^\d{11}$/; //var filter2 =/^\d{7,8}$/; //if(!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0&&!filter2.test(jQuery(obj).val())){ /** *1. 注释掉的是原版,刘功勋修改过一次, * 删掉了 filter2正则表达式,判断括号里删掉了filter2的过滤条件, * 不然验证手机号码是会出现7到8位数字也能通过的现象 * 2. 后看来客户只要求验证是11位数字就好 */ if(!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0){ appendWarning(obj, "mobile"); jQuery(obj).val(''); obj.focus(); return; } }else if(type=="phobile"){ //同时满足座机和手机 //var filter = /^(?:13\d|15\d{1}|17\d{1}|18\d{1})-?\d{5}(\d{3}|\*{3})$/; var filter = /^\d{11}$/; var filter2 =/^\d{7,8}$/; var filter3=/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/; if((!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0&&!filter2.test(jQuery(obj).val()))&&(!filter3.test(jQuery(obj).val())&&jQuery(obj).val().length>0)){ appendWarning(obj, "phobile"); jQuery(obj).val(''); obj.focus(); return; } }else if(type == "date"){ //日期 //YYYY/MM/DD YYYY-MM-DD var filter=/((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)$))/; if(!filter.test(jQuery(obj).val())&&jQuery(obj).val().length>0){ appendWarning(obj, "date"); jQuery(obj).val(''); obj.focus(); return; } }else if(type == "identity"){ //身份证验证 if(!validId(obj)){ appendWarning(obj, "identity"); jQuery(obj).val(''); obj.focus(); return; } }else if(type == "number"){ //验证纯数字格式 var zmnumReg=/^[0-9]*$/; if(!zmnumReg.test(jQuery(obj).val())&&jQuery(obj).val().length>0){ appendWarning(obj, "number"); jQuery(obj).val(''); obj.focus(); return; } }else if(type.indexOf("float_")>-1){ var _ns=type.split("_"); var _n=_ns[1]; // var filter0="/^[0-9]+\.[0-9]{_n}$/"; var filter0=/^\d+$/; var filter1=/^\d+(\.\d{1})+$/; var filter2=/^\d+(\.\d{2})+$/; var filter3=/^\d+(\.\d{3})+$/; var filtermax2=/^(([0-9]+)|([0-9]+\.[0-9]{1,2}))$/; //最多4位小数 var filtermax4=/^(([0-9]+)|([0-9]+\.[0-9]{1,4}))$/; // var filter=eval(filter0.replace("_n",_n)); if(_n==0){ if(!filter0.test(jQuery(obj).val())){ appendWarning(obj, "float_0"); jQuery(obj).val('0'); obj.focus(); return; } }else if(_n==1){ if(!filter1.test(jQuery(obj).val())){ appendWarning(obj, "float_1"); jQuery(obj).val('0.0'); obj.focus(); return; } }else if(_n==2){ if(!filter2.test(jQuery(obj).val())){ appendWarning(obj, "float_2"); jQuery(obj).val('0.00'); obj.focus(); return; } }else if(_n==3){ if(!filter3.test(jQuery(obj).val())){ appendWarning(obj, "float_3"); jQuery(obj).val('0.000'); obj.focus(); return; } }else if(_n=="max2"){ if(!filtermax2.test(jQuery(obj).val())){ appendWarning(obj, "float_max2"); jQuery(obj).val('0.00'); obj.focus(); return; } }else if(_n=="max4"){ if(!filtermax4.test(jQuery(obj).val())){ appendWarning(obj, "float_max4"); jQuery(obj).val('0.0000'); obj.focus(); return; } } } } function getMeg(type){ var msg = "";num = 0; for(var j=0;j