📄 formcheck.js
字号:
/*
Date | Author | Project | Change Description
20031023| corlin chen | 天津大客户 | 添加多个电话号码输入框的验证.
********************基本格式*******************************
例<input name="f1" v_type=string v_maxlength=32, v_minlength=20>字符类型,最大长度为32,最小为20
例<input name="f1" v_type=money v_maxvalue=1000>货币类型,金额最大为1000
类型:(必填)
string 字符型
zip 邮政编码型
money 货币型
0-9 0-9型
int 整型 可以为负数
float 浮点型 可以为负数
email 电子邮件型
date 日期型 (属性由month,day,输入表单元素的名称name)
pwd 密码型 (属性有pwd2,输入校验密码的域名)
phone 电话型
phones 多个电话号码型
idcard 身份证型
属性:v_minlength 最小长度(最大长度可以用size)(如果等于0,表示此项可以为空,如果等于null,或一个数字说明不能为空)
v_maxvalue 最小值
v_minivalue 最大值
v_name 报错时显示的名称
v_must 必填项(1,必填 0非必填)
v_maxlength 最大长度
v_type 类型(必填)
××××××××××××入口函数×××××××××××××××××××
function check(formname)
××××××××××××基本函数列表×××××××××××××××××××
function boolean isMadeOf(value,str) //判断value中的字符是否由str中的字符组成
function boolean isSizeOf(value,max,min)//判断value的大小是否由符合标准
function boolean isLengthOf(value,max,min)//判断value的长度是否由符合标准
function boolean isNotNull(value)//判断value是否空或null
function trimSubStr(ATrimStr,ASubStr,AWhere)//去掉符合条件的字符,用于去空格
××××××××××××扩充函数列表×××××××××××××××××××
function void packUp(obj)//整理域的属性值,校验v_×域的值是否符合标准
××××××××××××××××××接口函数列表××××××××××××××××××××
function void forString(obj)//判断一般字符串的长度
function void forZip(obj)//判断邮政编码
function void forMoney(obj)//判断金额
function void for0-9(obj)//判断字符是否由0-9个数字组成
function void forInt(obj)//判断字符是否是整数组成,可以为负数
function void forFloat(obj)//判断字符是否是数字,可以有小数点,负数
function void forEmail(obj)//判断字符是合法的电子邮件
function void forDate(obj1,obj2,obj2)//判断字符是合法的日期
function void forPwd(obj1,obj2)//判断字符密码,两次输入密码是否相等
function void forPhone(obj)//判断字符是否是合法的电话021-55555555,(021)2222222,
function void forPhones(obj)//判断字符是否是合法的多个电话021-55555555;(021)2222222,
function void forMadeOf(obj,str)//判断字符是否是由str里的字符组成
function void forIdCard(obj1)//判断字符是否是合法的身份证号
*/
//*****************全局变量****************************
var numStr="0123456789";
var moneyStr = numStr + ".";//金额的组成,浮点数的组成
var intStr = numStr+"-";
var floatStr = moneyStr+"-";
var phoneStr = "()-#" + numStr;//电话号码
var phonesStr = ";;" + numStr;//多个电话号码
var flag = 0;
//*********************入口函数***************************
function check(form)
{ var obj = null;
var t = null;
var i;
for (i=0;i<form.length;i++)
{
obj = form.elements[i];
packUp(obj);
if(obj.v_type == "string") forString(obj);
else if(obj.v_type == "zip") forZip(obj);
else if(obj.v_type == "money") forMoney(obj);
else if(obj.v_type == "0_9") for0_9(obj);
else if(obj.v_type == "int") forInt(obj);
else if(obj.v_type == "float") forFloat(obj);
else if(obj.v_type == "email") forEmail(obj);
else if(obj.v_type == "date") forDate(obj);
else if(obj.v_type == "pwd") forPwd(obj);
else if(obj.v_type == "phone") forPhone(obj);
else if(obj.v_type == "phones") forPhones(obj);
else if(obj.v_type == "idcard") forIdCard(obj);
else alert("程序错误:'" + obj.name + "的’v_type =" + obj.v_type + "'不是一个合法的类型!");
if(flag == 1) {
flag = 0;
return false;
}
}
return true;
}
//*********************基本函数***************************
function isMadeOf(val,str)
{
var jj;
var chr;
for (jj=0;jj<val.length;++jj){
chr=val.charAt(jj);
if (str.indexOf(chr,0)==-1)
return false;
}
return true;
}
function isNotNull(val)
{
if (val =="")
return (false);
if (val == null)
return (false);
return (true);
}
function isSizeOf(val,min,max)
{
var maxval = parseFloat(max);
var minval = parseFloat(min);
var selval = parseFloat(val);
if (isNaN(selval)){
return false;
}
if (!isNaN(maxval)){
if (selval > maxval){
return false;
}
}
if (!isNaN(minval)){
if (selval < minval){
return false;
}
}
/*
if (val < min || val > max){
return false;
}
*/
return (true);
}
function isLengthOf(val,min,max)
{
var minlen = parseInt(min);
var maxlen = parseInt(max);
if (!isNaN(maxlen)){
if (val.length > maxlen){
return false;
}
}
if (!isNaN(minlen)){
if (val.length < minlen){
return false;
}
}
/*
if (val.length < minlen || val.lengh > maxlen ){
return false;
}
*/
return true;
}
//判断小数点
function isValid_dot(val)
{
var subvalue;
if (val.indexOf(".",0) != -1){
subvalue = val.substring(val.indexOf(".",0)+1);
if (subvalue.indexOf(".",0) != -1){
return false;
}
}
return true;
}
//判断负号
function isValid_negative(val)
{
var subvalue;
if (val.indexOf("-",0) != -1){
if (val.indexOf("-",0) > 0){
return false;
}
subvalue = val.substring(val.indexOf("-",0)+1);
if (subvalue.indexOf("-",0) != -1){
return false;
}
}
return true;
}
//判断合适长度
function isRight_length(val,num)
{
var len = parseInt(num);
if (isNaN(len)){ return true;}
if (val.length != len){
return false;
}
return true;
}
//***************************************************************************************************
//--- 从ATrimStr中去掉符合条件的字符串ASubStr
//--- 参数:
//--- ATrimStr:要去掉符合条件字符串的字符串
//--- ASubStr:要去掉的子字符串
//--- AWhere 0:去掉所有的, 1:去掉左边相连的,2:去掉右面的相连的
//--- 返回: 处理完的字符串
//--- 创建日期: 2001-07-27 最近更新日期: 2001-07-27
//--- 创建程序员: xg_delayth 最近更新程序员: xg_delayth
//--- 维护程序员: xg_delayth
//--- 举例: trimSubStr(" usj 29 "," ",0) 返回 "usj29"
function trimSubStr(ATrimStr,ASubStr,AWhere){
var tTrLength,tSbLength,tempLength;
var tempString;
var i;
tTrLength = ATrimStr.length;
tSbLength = ASubStr.length;
if (tSbLength == 0){return ATrimStr;}
if (tSbLength > tTrLength){return ATrimStr;}
tempString = ATrimStr;
switch(AWhere){
case 0://所有
do{
tempLength = tempString.length;
tempString = tempString.replace(ASubStr,"");
} while(tempLength != tempString.length);
break;
case 1://左
while (true){
if (tempString.length < tSbLength) break;
for (i = 0;i < tSbLength;i++)
if (ASubStr.charAt(i) != tempString.charAt(i))
return tempString;
tempString = tempString.replace(ASubStr,"");
};
case 2://右
while(true){
tempLength = tempString.length;
if (tempLength < tSbLength){return tempString;}
for (i = 0;i < tSbLength;i ++){
if (ASubStr.charAt(i) != tempString.charAt(tempLength - tSbLength+i)){
return tempString;
}
}
tempString = tempString.substr(0,tempLength-tSbLength);
};
default:
return tempString;
}
return tempString;
}
//***************************************************************************************************
//××××××××××××扩充函数列表×××××××××××××××××××
//整理域的属性值,校验v_×域的值是否符合标准
function packUp(obj)
{
if (obj == null){
alert("非法对象");
return false;
}
if (obj.value != null){
obj.value = trimSubStr(trimSubStr(obj.value," ",1)," ",2);
}
//创建v_name属性
try{
if (obj.v_name == null){
//alert("创建v_name属性");
obj.v_name = new String(obj.name);
}
}catch(exception){}
//创建v_type属性
try{
if (obj.v_type == null){
//alert("创建v_type属性");
obj.v_type = new String("string");
}
}catch(exception){}
//创建v_minlength属性
try{
if (obj.v_minlength == null){
//alert("创建v_minlength属性");
obj.v_minlength = new String("0");
}
}catch(exception){}
//创建v_maxlength属性
try{
if (obj.v_maxlength == null){
//alert("创建v_maxlength属性");
obj.v_maxlength = new String("");
}
}catch(exception){}
//创建v_maxvalue属性
try{
if (obj.v_maxvalue == null){
//alert("创建v_maxvalue属性");
obj.v_maxvalue = new String("");
}
}catch(exception){}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -