📄 formcheck.js
字号:
// 自定义警告信息
var AlertMessage = [];
//要求包含@字符的警告信息
AlertMessage["@"] = "请输入正确的Email地址!";
//定义表单检查函数
function FormCheck(frmid)
{
var Form = document.all(frmid);
var arrChkCtls = [];
var i;
var strAlert = "";
//找出表单中所有需要验证的控件
FindCheckCtl(Form);
//对每个空间进行验证
for(i=0;i<arrChkCtls.length;i++)
{
var ctl = arrChkCtls[i];
//空值检测
if(ctl.chknullable == "false")
strAlert += CheckNull(ctl);
//类型检测
if(typeof(ctl.chktype) != "undefined")
strAlert += CheckType(ctl);
//长度检测
if((typeof(ctl.chklength) != "undefined") || (typeof(ctl.chkminlength) != "undefined") || (typeof(ctl.chkmaxlength) != "undefined"))
strAlert += CheckLength(ctl);
//上下界检测
if((typeof(ctl.chkmin) != "undefined") || (typeof(ctl.chkmax) != "undefined"))
strAlert += CheckLimit(ctl);
//包含特定字符检测
if(typeof(ctl.chkinclude) != "undefined")
strAlert += CheckInclude(ctl);
//一致性检测
if(typeof(ctl.chkconsistant) != "undefined")
strAlert += CheckConsistant(ctl);
}
//返回验证结果
if(strAlert!="")
{
window.alert(strAlert);
return false;
}
else
return true;
//定义函数找出所有需要验证的控件
function FindCheckCtl(ctl)
{
if(typeof(ctl.chkname) != "undefined")
arrChkCtls[arrChkCtls.length] = ctl;
var i;
for(i=0;i<ctl.children.length;i++)
FindCheckCtl(ctl.children[i]);
}
//定义一系列函数用于不同类型的数据验证
function CheckNull(ctl)
{
if(ctl.value == "")
return ctl.chkname + "不可为空!\n";
else
return "";
}
function CheckType(ctl)
{
if(ctl.value == "")
return "";
var str = ctl.value;
var error = 0;
var i;
if(ctl.chktype == "text")
{
for(i=0;i<str.length;i++)
if((str.charAt(i) < "A") || (str.charAt(i) > "z"))
error ++;
if(error)
return ctl.chkname + "只能包含字母!\n";
else
return "";
}
else(ctl.chktype == "number")
{
if(parseInt(str).toString() != str)
error = 1;
if(error)
return ctl.chkname + "只能包含数字!\n";
else
return "";
}
}
function CheckLimit(ctl)
{
if(ctl.value == "")
return "";
var v = parseFloat(ctl.value);
if((ctl.chktype == "number") && (CheckType(ctl)) == "")
if((v < ctl.chkmin) || (v > ctl.chkmax))
return ctl.chkname + "值只能介于" + ctl.chkmin + "," + ctl.chkmax + "之间!\n";
else
return "";
else
return "";
}
function CheckLength(ctl)
{
var len = ctl.value.length;
var i;
var strAlert = "";
if(typeof(ctl.chklength) != "undefined")
{
var arrlen = ctl.chklength.split(",");
for(i=0;i<arrlen.length;i++)
if(isNaN(arrlen[i] = parseInt(arrlen[i])))
arrlen[i] = 0;
var error = 1;
for(i=0;i<arrlen.length;i++)
if(len == arrlen[i])
error = 0;
var strtmp = ctl.chkname + "长度必须是";
for(i=0;i<arrlen.length;i++)
if(arrlen[i])
strtmp += arrlen[i] + "或";
strtmp = strtmp.substr(0,strtmp.length-1) + "!\n";
if(error)
strAlert += strtmp;
}
else
{
var minlen = parseInt(ctl.chkminlength);
var maxlen = parseInt(ctl.chkmaxlength);
if(!isNaN(minlen))
if(len<minlen)
strAlert += ctl.chkname + "长度必须大于" + minlen + "!\n";
if(!isNaN(maxlen))
if(len>maxlen)
strAlert += ctl.chkname + "长度必须小于" + maxlen + "!\n";
}
return strAlert;
}
function CheckInclude(ctl)
{
var str = ctl.value;
if(str == "")
return "";
var i;
var error = 1;
for(i=0;i<str.length;i++)
if(str.charAt(i) == ctl.chkinclude)
error = 0;
var strAlert = AlertMessage[ctl.chkinclude] + "\n";
if(error)
return strAlert;
else
return "";
}
function CheckConsistant(ctl)
{
var str = ctl.value;
var consisctl = document.all(ctl.chkconsistant);
if(consisctl.value != str)
return ctl.chkname + "与" + consisctl.chkname + "值不一致!\n";
else
return "";
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -