1、插件代码,话不多说,直接贴代码
? ? ??
var show_div_name = "show_validate_div"; //提示信息显示div var show_div_parent_tag = 'tr'; $(document).ready(function(){ $('input').focus(function(){ var show_div_node = $(this).parents(show_div_parent_tag).find('.' + show_div_name); var input_val = $(this).val(); var objItem = $(this); if(input_val=='' || input_val==null){ console.info("这是info"); showMessage(objItem.attr('default'),show_div_node,false); } show_div_node.show(); }).blur(function(){ var show_div_node = $(this).parents(show_div_parent_tag).find('.' + show_div_name); var input_val = $(this).val(); var isError = false; var objItem = $(this); var validArr = validate(objItem, input_val, show_div_node); isError = validArr['isCheck']; var isAjax = validArr['isAjax']; var isCard = validArr['isCard']; if (isError && isAjax==false && isCard==false) { showMessage('格式正确', show_div_node, false); } }); $("form").submit(function(){ var isSubmit = true; $(this).find("input").each(function(){ var input_val = $(this).val(); var objItem = $(this); var show_div_node = $(this).parents(show_div_parent_tag).find('.' + show_div_name); show_div_node.show(); var validArr = validate(objItem, input_val, show_div_node); var isValidate = validArr['isCheck']; if(isValidate==false){ isSubmit = isValidate; } }); return isSubmit; }); }); /** * 验证属性介绍 * 1、require,为空验证,取值 true Or false * 2、min或max,长度最小或最大值验证,可以只有一个属性或两个同时有 * 3、reg,正则匹配, * a、如果reg值是num(整数)、tel(电话或座机)、card(身份证)、chinese(中文)、email(邮箱)、qq(qq), * 其中一种,按对应系统提供的正则表达式匹配。 * b、如果reg值是一个正则表达式,按提供的正则匹配。 * c、reg属性对应一个regMsg属性,regMsg属性可有可无。如果有,reg验证出错,就会显示regMsg内容,如果没有,出错显示系统默认提示。 * 4、url,ajax远程验证属性,默认按照input框属性name名字提交到后台,后台可以根据改名字,获取input输入内容,进行验证。 * 验证过后需要返回json格式数据,包括两个属性,error(1、验证错误。0、验证成功),msg(验证成功或错误的提示信息) */ function validate(objItem,inputVal,showDivNode){ var isCheck = true; var isAjax = false; var isCard = false; var validArr = new Array(); if(isExistNode(objItem,"require")){ isAjax = false; isCard = false; var requireVal = objItem.attr('require'); if(requireVal=='false' && (inputVal=='' || inputVal==null)){ showDivNode.hide(); return true; } isCheck = checkNull(requireVal,inputVal,showDivNode); } if(isExistNode(objItem,"min") && isCheck==true){ isAjax = false; isCard = false; var min = objItem.attr("min"); isCheck = checkLength(min,0,inputVal,showDivNode); } if(isExistNode(objItem,"max") && isCheck==true){ isAjax = false; isCard = false; var max = objItem.attr("max"); isCheck = checkLength(0,max,inputVal,showDivNode); } if (isExistNode(objItem,"reg") && isCheck == true) { isAjax = false; var regMsg = false; if(isExistNode(objItem,"regMsg")){ regMsg = objItem.attr("regMsg"); } var regStr = objItem.attr("reg"); if(regStr == 'card'){ isCard = true; var reArr = checkCard(inputVal,showDivNode,regMsg); if(reArr['error'] == true){ isCheck = false; } }else{ isCard = false; isCheck = checkReg(regStr,inputVal,showDivNode,regMsg); } } if (isExistNode(objItem,"url") && isCheck == true) { isAjax = true; isCard = false; var ajax_url = objItem.attr("url"); var inputName = objItem.attr("name"); ajax_url += "?"+inputName+"="+inputVal; isCheck = ajaxVlidate(ajax_url,showDivNode); } validArr['isCheck'] = isCheck; validArr['isAjax'] = isAjax; validArr['isCard'] = isCard; return validArr; } //空验证 function checkNull(requireVal,inputVal,showDivNode){ var isCheck = true; if(requireVal == 'true' && (inputVal=='' || inputVal==null)){ isCheck = false; showMessage('不能为空',showDivN