////////////////////////////////////////////////
//////调用本页面前,请先引用jquery.js文件/////////
//////js表单验证集合/////////////////////////////
//////2010-4-12/////////////////////////////////
////////////////////////////////////////////////
//////////JVerify.js////////////////////////////
/*
Class 说明[可以任意组合]
所有应用要生效,上级form表单必须Class需要应用:FormClassName[默认为var FormClassName = ".form"; //form表单样式]
.J -- 正常(什么都不验证), 目的让生效(不是必填,但又控制了min和max生效)
.req -- 必填
.email -- 邮箱
.tel -- 座机
.ascii -- 字母 数字、“_”、“.”的字符串 字母开头
.cn -- 只能输入中文
.cnc ---印刷顾问联系人
.en -- 不能包含英文以外的字符
.trueacct -- 银行卡号格式
.phone -- 手机格式
.phoneortel -- 手机或座机
.qq -- QQ(数字或邮箱)
.phoneoremail -- 手机或邮箱
.idcardno -- 身份证
.postnum -- 邮编
.int -- 整数(不带小数点)
.positiveint -- 正整数(大于0不带小数点)
.float -- 数字
.rechargemoney --正小数
.carnumber --车牌号
.webaddress---网址验证
.Sreq -- 必选 <针对于select标签>
.Rreq -- 必选 <针对于Radio标签>
.Creq -- 必选 <针对于Checkbox标签>
.notips -- 隐藏正常提示信息
.noBlur -- 失去焦点时不验证
.noFocus -- 得到焦点时不验证
min 最小值 max 最大值
//必填长度在2-8
//必填范围在2-8
//必填范围在2-8
1
2
3 //必选
1
2
3
4 //必选范围在2-3个
ajax验证
function CheckUserID(obj)
{
var val = $(obj).val();
$.ajax({
url: '/R/CheckName.htm',
data: { name: val },
type: 'POST',
success: function (msg) { EndAjax(obj, msg == "1" ? true : false); }
});
}
再次输入密码验证
*/
var FormClassName = ".form , .form2"; //form表单样式
var FormClassName2 = "form2"; //特殊表单
var NormalBorderColor = ""; //input边框 //#CCCCCC #999999 #999999 #CCCCC2
var NormalColor = "#666666"; //input字体颜色
var ErrorColor = "Red"; //错误提示颜色
var ErrorImg = "background: url(../../images/Common/pic_02.gif) no-repeat scroll 10px center transparent;"; //错误提示颜色
var TipsColor = "Green"; //正常提示颜色
var TipsImg = "background: url(../../images/Common/pic_03.gif) no-repeat scroll 10px center transparent;"; //正常提示颜色
var RightColor = "Green"; //正常提示颜色
var reqTips = "";
var reqMsg = "";
var selReqMsg = '';
var form_VerifyList = new Array();
form_VerifyList.push(new Array("verify_J", "*", "*"));
form_VerifyList.push(new Array("verify_req", " ", "不能为空"));
form_VerifyList.push(new Array("verify_email", " ", "邮箱格式错误"));
form_VerifyList.push(new Array("verify_tel", " ", "格式:区号-号码"));
form_VerifyList.push(new Array("verify_ascii", " 只能包含 字母 数字 _ . 字母开头", "只能包含 字母 数字 _ . 字母开头"));
form_VerifyList.push(new Array("verify_cn", " 只能输入中文", "只能输入中文"));
form_VerifyList.push(new Array("verify_cnc", "", "格式错误"));
form_VerifyList.push(new Array("verify_en", " 不能包含英文以外的字符", "不能包含英文以外的字符"));
form_VerifyList.push(new Array("verify_trueacct", "", "银行卡号格式错误"));
form_VerifyList.push(new Array("verify_phone", "", "手机格式错误"));
form_VerifyList.push(new Array("verify_phoneortel", "", "电话格式错误"));
form_VerifyList.push(new Array("verify_qq", "", "QQ号错误"));
form_VerifyList.push(new Array("verify_phoneoremail", " 请输入手机或邮箱", "请输入手机或邮箱"));
form_VerifyList.push(new Array("verify_idcardno", "", "身份证格式错误"));
form_VerifyList.push(new Array("verify_postnum", "", "邮编格式错误"));
form_VerifyList.push(new Array("verify_webaddress", "", "非法网址"));
form_VerifyList.push(new Array("verify_xpcname", "", "帐号类型名称错误"));
form_VerifyList.push(new Array("verify_int", "", "必须为数字"));
form_VerifyList.push(new Array("verify_positiveint", "", "必须为正整数"));
form_VerifyList.push(new Array("verify_hundredint", "", "必须为整百正整数"));
form_VerifyList.push(new Array("verify_cashmoney", "", "必须为整百正整数"));
form_VerifyList.push(new Array("verify_float", "", "必须为数字"));
form_VerifyList.push(new Array("verify_rechargemoney", " ", "必须为大于0的数字"));
form_VerifyList.push(new Array("verify_carnumber", " ", "车牌号格式错误"));
form_VerifyList.push(new Array("verify_loginname", " 5-20位含字母、数字、_", "5-20位含字母、数字、_"));
form_VerifyList.push(new Array("verify_pwd", " 6-18位含字母、数字、_", "6-18位含字母、数字、_"));
form_VerifyList.push(new Array("verify_RegImg", " 图片最大为1M", ""));
form_VerifyList.push(new Array("verify_same", "", "输入密码不一致")); //参数 sameid
form_VerifyList.push(new Array("verify_aornum", "", "只能输入数字或字母"));
form_VerifyList.push(new Array("verify_regloginid", "", ""));
form_VerifyList.push(new Array("verify_regcompanyname", "", ""));
form_VerifyList.push(new Array("verify_regphone", "", ""));
form_VerifyList.push(new Array("verify_regemail", "", ""));
form_VerifyList.push(new Array("verify_intentioncompany", "", ""));
form_VerifyList.push(new Array("verify_customcompany", "", ""));
form_VerifyList.push(new Array("verify_PaperWeightName", "", ""));
form_VerifyList.push(new Array("verify_CKGoodsName", "", ""));
form_VerifyList.push(new Array("verify_Sreq", "", selReqMsg));
form_VerifyList.push(new Array("verify_Rreq", "", "", false));
form_VerifyList.push(new Array("verify_Creq", "", "", false));
//正常,目的让生效(不是必填,但又控制了min和max生效)
function verify_J(obj, tips, msg) {
set_flag_verify(obj, msg, tips, true);
}
//必填
function verify_req(obj, tips, msg) {
if ($(obj).val().replace(/(^\s*)|(\s*$)/g, "").length == 0) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//校验登录名
function verify_loginname(obj, tips, msg) {
var v_len = $(obj).val().length;
//5-20个字符,一个汉字为两个字符,推荐使用中文会员名。一旦注册成功会员名不能修改。
if (v_len < 5 || v_len > 20) {
set_flag_verify(obj, "登录帐号在5-20个字符内", tips, false);
return false
} else {
var v_userName = $(obj).val();
if (/^\d*$/.test(v_userName)) {
set_flag_verify(obj, "登录帐号不能全为数字", tips, false);
return false
} else {
var chines = /^[a-zA-Z]{1}([a-zA-Z0-9]|[_])+$/;
if (!chines.test(v_userName)) {
set_flag_verify(obj, "登录帐号格式错误", tips, false);
return false
}
}
}
set_flag_verify(obj, msg, tips, true);
}
//密码
function verify_pwd(obj, tips, msg) {
var v_obj_val = $(obj).val();
if (v_obj_val.length < 6 || v_obj_val.length > 18) {
set_flag_verify(obj, msg, tips, false);
return false
} else {
var v_obj_val = $(obj).val();
if (/^\d*$/.test(v_obj_val)) {
set_flag_verify(obj, "密码不能全为数字", tips, false);
return false
}
}
set_flag_verify(obj, msg, tips, true);
}
//邮件
function verify_email(obj, tips, msg) {
var reg = /^[_\.0-9A-Za-z-]+@[0-9A-Za-z\-]+\.(com|cc|cn|tv|hk|name|mobi|net|biz|org|info|gov\.cn|com\.cn|net\.cn|org\.cn)$/;
if (!reg.test($(obj).val()) && $(obj).val() != "") set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//图片
function verify_RegImg(obj, tips, msg) {
set_flag_verify(obj, msg, tips, true);
}
//座机
function verify_tel(obj, tips, msg) {
var reg = /^((\(0[0-9]{2,3}\))|(0[0-9]{2,3}\-))?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//可带 字母 数字、“_”、“.”的字符串
function verify_ascii(obj, tips, msg) {
var reg = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._])+$/;
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//字母 数字的字符串
function verify_aornum(obj, tips, msg) {
var reg = /^[a-zA-Z0-9]+$/;
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//只能为中文
function verify_cn(obj, tips, msg) {
var reg = /^[\u4e00-\u9fa5]+$/;
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//印刷顾问联系人
function verify_cnc(obj, tips, msg) {
var reg = /^[\u4e00-\u9fa5]+$/;
if (!reg.test($(obj).val())) {
set_flag_verify(obj, msg, tips, false);
return false;
}
if ($(obj).val().length < 2 || $(obj).val().length > 6) {
set_flag_verify(obj, msg, tips, false);
return false;
} set_flag_verify(obj, msg, tips, true);
}
//不能包含英文以外的字符
function verify_en(obj, tips, msg) {
var reg = /^[a-zA-Z]+$/;
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//验证银行卡:卡号必须为15位或16位或19位数字
function verify_trueacct(obj, tips, msg) {
var reg = /^(\d{15}|\d{16}|\d{19})$/;
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//验证手机号码:13、15、18
function verify_phone(obj, tips, msg) {
var reg = /^[0-9]{11}$/;
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//验证手机或者座机
function verify_phoneortel(obj, tips, msg) {
var reg = /^[0-9]{11}$/;
var reg2 = /^((\(0[0-9]{2,3}\))|(0[0-9]{2,3}\-))?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/; //座机
if (!reg.test($(obj).val()) && !reg2.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//QQ
function verify_qq(obj, tips, msg) {
var reg = /^[0-9]+$|^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/; //数字或邮箱
if (!reg.test($(obj).val()))
set_flag_verify(obj, msg, tips, false);
else
set_flag_verify(obj, msg, tips, true);
}
//邮箱或手机
function verify_phoneoremail(obj, tips, msg) {
var reg = /^[0-9]{11}$/; //手机
var reg2 = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/; //邮箱
if (!reg.test($(obj).val()) && !reg2.test($(obj).val()))
set_flag_verify(obj, msg, tips, false);
else
set_flag_verify(obj, msg, tips, true);
}
//身份证验证
function verify_idcardno(obj, tips, msg) {
var reg = /(^\d{15}$)|(^\d{17}([0-9]|X)$)/;
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//网址验证
function verify_webaddress(obj, tips, msg) {
var reg = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//邮编
function verify_postnum(obj, tips, msg) {
var reg = /^[1-9][0-9]{5}$/;
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//必须为整数
function verify_int(obj, tips, msg) {
var reg = /^-?\d+$/; //^[0-9]+$
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//必须为正整数
function verify_positiveint(obj, tips, msg) {
var reg = /^[0-9]+$/;
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//必须为整百正整数
function verify_hundredint(obj, tips, msg) {
var reg = /^[1-9][0-9]*[0][0]$/; ///^-?\d+$/; //^[0-9]+$
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//必须为数字
function verify_float(obj, tips, msg) {
var reg = /^-?\d+(\.\d+)?$/; //^[0-9]+(\.)?([0-9])?([0-9])?$
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//必须为大于0的数字
function verify_rechargemoney(obj, tips, msg) {
var reg = /^-?\d+(\.\d+)?$/; //^[0-9]+(\.)?([0-9])?([0-9])?$
if (parseFloat($(obj).val()) <= 0)
set_flag_verify(obj, msg, tips, false);
else {
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
}
//请填写大于0的整百数字
function verify_cashmoney(obj, tips, msg) {
var reg = /^[1-9][0-9]*[0][0]$/;
if (parseInt($(obj).val()) <= 0)
set_flag_verify(obj, msg, tips, false);
else {
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else {
if (parseInt($(obj).val()) > parseInt($(obj).attr("maxcash"))) {
set_flag_verify(obj, "所提取金额不能大于可提现金额", msg, false);
}
else set_flag_verify(obj, msg, tips, true);
}
}
}
//车牌号验证
function verify_carnumber(obj, tips, msg) {
var reg = /^[\u4e00-\u9fa5]{1}[A-Z]{1}[-]{1}[A-Z_0-9]{5}$/; ///^[\u4e00-\u9fa5][-]{1}[A-Z0-9]{6}$/;
if (!reg.test($(obj).val())) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//验证两次输入密码是否相同
function verify_same(obj, tips, msg) {
var value1 = $("#" + $(obj).attr("sameid")).val(); //原始值
if ($(obj).val().replace(/(^\s*)|(\s*$)/g, "").length == 0) set_flag_verify(obj, "不能为空", "", false);
else if ($(obj).val() != value1) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
}
//radio必选
function verify_Rreq(obj, tips, msg) {
try {
var name = $(obj).attr("name");
var P = $(obj).parents(FormClassName);
//var AllCont = $(":radio[name='" + name + "']").length;
if ($(P).find(":radio[name='" + name + "']:checked").length == 0) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
} catch (e) { }
}
//checkbox必选
function verify_Creq(obj, tips, msg) {
try {
var name = $(obj).attr("name");
var P = $(obj).parents(FormClassName);
//var AllCont = $(":checkbox[name='" + name + "']").length;
if ($(P).find(":checkbox[name='" + name + "']:checked").length == 0) set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
} catch (e) { }
}
//select必选
function verify_Sreq(obj, tips, msg) {
try {
if ($(obj).val() == null || $(obj).val().replace(/(^\s*)|(\s*$)/g, "") == "") set_flag_verify(obj, msg, tips, false);
else set_flag_verify(obj, msg, tips, true);
} catch (e) { }
}
//验证函数
function set_flag_verify(obj, msg, tips, value)
{ set_flag_verify(obj, msg, tips, value, false); }
//验证函数
function set_flag_verify(obj, msg, tips, value, first) {
msg = getInputMsg(obj, msg);
tips = getInputTips(obj, tips);
var arr = checkMinMax(obj, value);
if (!first) { value = arr[0]; }
if (!HasAttr(obj, "msg"))
msg = msg + arr[1];
if (!HasAttr(obj, "tips"))
//tips = tips + arr[1];
if ($(obj).val() != null && $(obj).val().replace(/(^\s*)|(\s*$)/g, "").length == 0 && !$(obj).hasClass("req") && !$(obj).hasClass("Sreq")) { value = true; }
removeMsgTips(obj);
if (value)
AjaxCheck(obj, value);
if (value == false) {
addErrorSpan(obj, msg);
$(obj).addClass("inputError");
}
else {
addTipsSpan(obj, tips, first ? !first : true);
$(obj).removeClass("inputError");
}
}
//ajax验证
function AjaxCheck(obj) {
try {
if (HasAttr(obj, "ajax") && $.trim($(obj).val()) != "")
eval($(obj).attr("ajax").replace("this", "$(obj)"));
} catch (cse) { }
}
function EndAjax(obj, Result) {
if (Result) {
removeMsgTips(obj);
addErrorSpan(obj, $(obj).attr("ajax_msg"));
$(obj).addClass("inputError");
}
}
//获取自定义错误提示信息
function getInputMsg(obj, msg) {
if (HasAttr(obj, "msg"))
//msg = msg + " " + $(obj).attr('msg');
return $(obj).attr('msg');
return msg;
}
//获取自定义正常提示信息
function getInputTips(obj, tips) {
if (HasAttr(obj, "tips"))
//tips = tips + " " + $(obj).attr('tips');
return $(obj).attr('tips');
return tips;
}
//获取自定义显示区
function getInputShowClass(obj) {
if (HasAttr(obj, "showclass"))
//tips = tips + " " + $(obj).attr('tips');
return $(obj).attr('showclass');
return "";
}
function GetArrValue(obj, ArrName) {
if (HasAttr(obj, ArrName))
return $(obj).attr(ArrName);
return "";
}
//是否有此属性
function HasAttr(obj, attrName)
{ return $(obj).attr(attrName) != undefined && $(obj).attr(attrName) != null && $(obj).attr(attrName).length > 0; }
//获取焦点
function inputFocus(obj, tips) {
tips = getInputTips(obj, tips);
var arr = checkMinMax(obj, true);
if (!HasAttr(obj, "tips"))
tips = tips + arr[1];
removeMsgTips(obj);
$(obj).removeClass("inputError");
addTipsSpan(obj, tips, false);
//$(obj).css("border", "1px solid " + FocusColor);
//$(obj).css("color", FocusColor);
}
//移除提示span
function removeMsgTips(obj) {
var P = $(obj).parents(FormClassName);
$(P).find("span[id='msg_" + $(obj).attr('name') + "']").remove();
$(P).find("span[id='tips_" + $(obj).attr('name') + "']").remove();
}
//增加错误提示span
function addErrorSpan(obj, msg) {
if ($(obj).hasClass("req")) {
if (msg.indexOf(reqMsg) < 0)
{ msg = reqMsg + " " + msg; }
}
if ($(obj).hasClass("notips")) {
msg = "*";
}
var sclass = getInputShowClass(obj);
//if (sclass.length <= 0)
if (true) {
var non = "";
if (CheckHasForm2(obj)) {
non = "display:none; ";
alertMsg(msg);
//obj.focus();
$(obj).css("border-color", "red");
}
$(obj).after("" + msg + "");
}
else {
$("." + sclass).html("" + msg + "");
$("." + sclass).css("color", ErrorColor);
}
//$(obj).css("border", "1px solid " + ErrorColor);
$(obj).addClass("red");
}
function goFocus(tdom) {
if (window.isfocused) return;
window.isfocused = window.isfocused ? window.isfocused : true;
try {
setTimeout('window.isfocused=undefined;', 200);
} catch (e) {
}
};
//增加正常提示span
function addTipsSpan(obj, tips, S) {
if ($(obj).hasClass("req")) {
if (tips.indexOf(reqTips) < 0)
{ tips = reqTips + " " + tips; }
}
if ($(obj).hasClass("notips")) {
tips = "*";
}
var pic = "";
var color = "";
if (S) {
pic = "spanRight";
color = RightColor;
}
else {
pic = "spanTips";
color = TipsColor;
}
var sclass = getInputShowClass(obj);
if (!CheckHasForm2(obj)) {
if (sclass.length <= 0) {
$(obj).after("" + tips + "");
}
else {
$("." + sclass).html("" + tips + "");
$("." + sclass).css("color", color);
}
$(obj).css("border-width", "1px");
$(obj).css("border-style", "solid");
$(obj).css("border-color", NormalBorderColor);
$(obj).removeClass("red");
} else {
$(obj).css("border-width", "1px");
$(obj).css("border-style", "solid");
$(obj).css("border-color", NormalBorderColor);
$(obj).removeClass("red");
}
}
//验证字符串长度 或者 数值大小
function checkMinMax(obj, value) {
var t = "";
var s = value;
var val = $(obj).val();
if ($(obj).attr('minNot') != undefined && $(obj).attr('minNot') != null && $(obj).attr('minNot').length > 0) {
var min = parseFloat($(obj).attr('minNot'));
if ($(obj).hasClass("int") || $(obj).hasClass("float")) {
val = parseFloat(val);
if (min >= val) { s = false; }
t = t + " " + "值必须大于" + $(obj).attr('minNot');
}
}
if ($(obj).attr('min') != undefined && $(obj).attr('min') != null && $(obj).attr('min').length > 0) {
var min = parseFloat($(obj).attr('min'));
if ($(obj).hasClass("int") || $(obj).hasClass("float")) {
val = parseFloat(val);
if (min > val) { s = false; }
t = t + " " + "值不小于" + $(obj).attr('min');
}
else if ($(obj).hasClass("Creq")) {
var name = $(obj).attr("name");
var P = $(obj).parents(FormClassName);
var CheckCount = parseFloat($(P).find(":checkbox[name='" + name + "']:checked").length);
if (min > CheckCount) { s = false; }
t = t + " " + "个数不小于" + $(obj).attr('min');
}
else {
if (min > C_ASIIC(val).length) { s = false; }
t = t + " " + "长度不小于" + $(obj).attr('min');
}
}
if ($(obj).attr('max') != undefined && $(obj).attr('max') != null && $(obj).attr('max').length > 0) {
var max = parseFloat($(obj).attr('max'));
if ($(obj).hasClass("int") || $(obj).hasClass("float") || $(obj).hasClass("positiveint")) {
val = parseFloat(val);
if (max < val) { s = false; }
t = t + " " + "值不大于" + $(obj).attr('max');
}
else if ($(obj).hasClass("Creq")) {
var name = $(obj).attr("name");
var P = $(obj).parents(FormClassName);
var CheckCount = parseFloat($(P).find(":checkbox[name='" + name + "']:checked").length);
if (max < CheckCount) { s = false; }
t = t + " " + "个数不大于" + $(obj).attr('max');
}
else {
if (max < C_ASIIC(val).length) { s = false; }
t = t + " " + "长度不大于" + $(obj).attr('max');
}
}
return new Array(s, t);
}
//把一个双字节转换为ww
function C_ASIIC(val) {
return val.replace(/[^\x00-\xff]/g, "ww");
}
//检验错误
function isError() {
//alertMsg($('.inputError').length);
return $('.inputError').length > 0;
};
//表单submit时验证
function verfy_submit(_obj) {
if (window.ErrorSourse && window.ErrorSourse.getAttribute('vfname') &&
undefined != (window.el_this = $(window.ErrorSourse)) && !eval(window.ErrorSourse.getAttribute('vfname')))//有错误时先验证错误源
{
return false;
} else { }
//var obj = FormClassName;
var obj = $(_obj);
if (!CheckHasForm2(obj)) {
//if ($(obj).find(".inputError").length > 0) return false;
if ($(obj).find(".inputError").not(".Rreq,.Creq").length > 0) return false;
var output = "";
for (var i = 0; i < form_VerifyList.length; i++) {
var tips = form_VerifyList[i][1];
var msg = form_VerifyList[i][2];
var functionName = form_VerifyList[i][0];
var className = "";
try {
className = functionName.split("_")[1];
} catch (ce) { continue; }
if (className == "") { continue; }
var vdoms = $(obj).find(("." + className));
if (!ValidateArray(vdoms, functionName, tips, msg)) return false;
}
//ShowWaitFront();
return true;
}
else {
$(obj).find("*").removeClass("inputError");
for (var i = 0; i < form_VerifyList.length; i++) {
var tips = form_VerifyList[i][1];
var msg = form_VerifyList[i][2];
var functionName = form_VerifyList[i][0];
var className = "";
try {
className = functionName.split("_")[1];
} catch (ce) { continue; }
if (className == "") { continue; }
var vdoms = $(obj).find(("." + className));
if (!ValidateArray(vdoms, functionName, tips, msg)) return false;
}
//ShowWaitFront();
return true;
}
}
/*
验证表单
@params:
_tform:form表单(原身)
*/
function verfy_form(_tform) {
if (!_tform || 'FORM' != _tform.tagName) { return false; }
if (window.ErrorSourse && window.ErrorSourse.getAttribute('vfname') &&
undefined != (window.el_this = $(window.ErrorSourse)) && !eval(window.ErrorSourse.getAttribute('vfname')))//有错误时先验证错误源
{
return false;
} else { }
$(_tform).find("*").removeClass("inputError");
for (var fekey in _tform) {
var currentFromEl = _tform[fekey];
if (!currentFromEl || 'object' != typeof (currentFromEl) || !currentFromEl.className || !currentFromEl.getAttribute('vfname') ||
((window.el_this = $(currentFromEl)) && eval(currentFromEl.getAttribute('vfname')))) continue;
window.ErrorSourse = currentFromEl;
return false;
}
return true;
}
/*
验证一组dom
*/
function ValidateArray(vdoms, functionName, tips, msg) {
var maxLength = vdoms.length;
if (0 == maxLength) return true;
var i = -1;
while (++i < maxLength) {
window.ErrorSourse = vdoms[i];
window[functionName]($(vdoms[i]), tips, msg);
if (isError()) return !isError;
window.ErrorSourse = undefined;
}
return true;
}
//检查是否是form2
function CheckHasForm2(_obj) {
if ($(_obj).hasClass(FormClassName2)) return true;
var Forms = $(_obj).parents(FormClassName);
if ($(Forms).length > 0) {
if ($(Forms).eq(0).hasClass(FormClassName2))
{ return true; }
}
return false;
}
//初始验证函数
$(function () {
$(FormClassName).each(function (fi, fv) {
for (var i = 0; i < form_VerifyList.length; i++) {
var functionName = form_VerifyList[i][0];
var tips = form_VerifyList[i][1]; //正常提示信息
var msg = form_VerifyList[i][2]; //错误提示信息
var className = "";
try {
className = functionName.split("_")[1];
} catch (ce) { continue; }
if (className == "") { continue; }
if ($(fv).find("." + className).length == 0) continue;
$(fv).find("." + className).each(function (ui, vi) {
$(vi).attr("tips", GetArrValue($(vi), "tips") + tips);
});
$(fv).find("." + className).attr('vfname', 'ValidateArray(el_this, "' + functionName + '", "' + tips + '", "' + msg + '");');
eval("$(fv).find('." + className + "').blur(function (theEl) { var el_this = $(this);if (($(this).hasClass('inputError') || window.ErrorSourse ==undefined || window.ErrorSourse == this || !isError()) && !$(this).hasClass('noBlur')){window.FormErrored = eval(this.getAttribute('vfname')); }});");
//eval("$(fv).find(\"." + className + "\").focus(function(){if(!$(this).hasClass('noFocus')){ inputFocus($(this),'" + tips + "'); } });");
$(fv).find("." + className).each(function (ui, vi) {
//初始显示提示
//eval("set_flag_verify($(this), '" + msg + "', '" + tips + "', true, true);");
});
var isRes = true;
if (form_VerifyList[i][3] != undefined) { isRes = form_VerifyList[i][3]; }
if (!isRes) { $(fv).find("." + className).hide(); $(fv).find("." + className).val(" "); }
}
//增加submit方法
$(fv).submit(function () { return verfy_submit($(this)); });
});
});
var fromobjlading = {};
fromobjlading.each = function (FormClassName) {
$(FormClassName).each(function (fi, fv) {
for (var i = 0; i < form_VerifyList.length; i++) {
var functionName = form_VerifyList[i][0];
var tips = form_VerifyList[i][1]; //正常提示信息
var msg = form_VerifyList[i][2]; //错误提示信息
var className = "";
try {
className = functionName.split("_")[1];
} catch (ce) { continue; }
if (className == "") { continue; }
$(fv).find("." + className).each(function (ui, vi) {
$(vi).attr("tips", GetArrValue($(vi), "tips") + tips);
});
eval("$(fv).find(\"." + className + "\").blur(function(){if(!$(this).hasClass('noBlur')){" + functionName + "($(this),'" + tips + "','" + msg + "'); } });");
eval("$(fv).find(\"." + className + "\").focus(function(){if(!$(this).hasClass('noFocus')){ inputFocus($(this),'" + tips + "'); } });");
$(fv).find("." + className).each(function (ui, vi) {
//初始显示提示
eval("set_flag_verify($(this), '" + msg + "', '" + tips + "', true, true);");
});
var isRes = true;
if (form_VerifyList[i][3] != undefined) { isRes = form_VerifyList[i][3]; }
if (!isRes) { $(fv).find("." + className).hide(); $(fv).find("." + className).val(" "); }
}
//增加submit方法
$(fv).submit(function () { return verfy_submit($(this)); });
});
};
fromobjlading.eachOther = function (FormClassName) {
$(FormClassName).each(function (fi, fv) {
for (var i = 0; i < form_VerifyList.length; i++) {
var functionName = form_VerifyList[i][0];
var tips = form_VerifyList[i][1].replace("*", "").replace("图片最大为1M", "").replace("整数", ""); //正常提示信息
var msg = form_VerifyList[i][2]; //错误提示信息
var className = "";
try {
className = functionName.split("_")[1];
} catch (ce) { continue; }
if (className == "") { continue; }
$(fv).find("." + className).each(function (ui, vi) {
$(vi).attr("tips", GetArrValue($(vi), "tips") + tips);
});
eval("$(fv).find(\"." + className + "\").blur(function(){if(!$(this).hasClass('noBlur')){" + functionName + "($(this),'" + tips + "','" + msg + "'); } });");
eval("$(fv).find(\"." + className + "\").focus(function(){if(!$(this).hasClass('noFocus')){ inputFocus($(this),'" + tips + "'); } });");
$(fv).find("." + className).each(function (ui, vi) {
//初始显示提示
eval("set_flag_verify($(this), '" + msg + "', '" + tips + "', true, true);");
});
var isRes = true;
if (form_VerifyList[i][3] != undefined) { isRes = form_VerifyList[i][3]; }
if (!isRes) { $(fv).find("." + className).hide(); $(fv).find("." + className).val(" "); }
}
//增加submit方法
$(fv).submit(function () { return verfy_submit($(this)); });
});
};