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