⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formcheck.js

📁 这是一本关于高级软件工程的书籍
💻 JS
📖 第 1 页 / 共 2 页
字号:
/*

 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 + -