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

📄 formcheck.js

📁 OA源码struts+spring+hibernate.rar
💻 JS
字号:
	//通用前端校验函数(请不断扩充)
	//使用方法:需要校验的页面通过"<script src=>"包含此文件
	//在使用的form中 onsubmit="return checkSubmit(this)"
	//author Tony tony2002@btamail.net.cn
	//date   2002-12-05
	function checkSubmit(form){ 
		//首先判断,然后改名字
		 for(i=0;i<form.length;i++)
    {  
    var str_warn;
	str_warn="";
	//检测判断条件,根据类型不同可以修改---如果是input类型,textArea类型
	//使用方法:
	//在需要校验的form中对象名,采用规范的对象命名
	//例如:*_int_mustint   ---->   代表 此处校验:*代表不能为空,int 代表必须是int类型
	//     N_fla_mustfla   ---->   代表 此处校验:N代表可以为空,fla 如果不为空必须是 float类型
	//     N_dat_mustdate  ---->   代表 此处校验:N代表可以为空,dat 如果不为空必须是 日期类型(格式采用统一格式:YYYY-MM-DD)
	//     Y_mal_sdfsdfsd  ---->   代表 此处校验:Y代表不能为空,mal 代表必须是email类型
	//     Y_str_xxxxxxx   ---->   代表 此处校验:Y代表不能为空,str 代表必须是String类型
    if((((form[i].tagName.toUpperCase()=="INPUT") && (form[i].type.toUpperCase()=="TEXT" || form[i].type.toUpperCase()=="PASSWORD" )) || (form[i].tagName.toUpperCase()=="TEXTAREA")) && (form[i].title!="") && (form[i].name.length>=5))
    {
		//form[i].vlaue = trim(form[i].value) ;
		//alert(form[i].title+form[i].value.length+form[i].value.indexOf("Y"));
		//alert("ss"+trim(form[i].value)+"ss");
		//首先判断所有元素有Y的不能为空
		if(form[i].name.indexOf("*")>-1)
	   {

         if(trim(form[i].value).length<1)
         {
         str_warn=form[i].title+"不能为空!";
         alert(str_warn);
         form[i].focus();
         return false;         
         }
	   }
	   //然后填写数据的判断类型匹配
	   if(form[i].value.length>0)
		 {
				 //判断3-5位的格式
				 if(form[i].name.substring(2,5).toUpperCase()=="INT")//int数字校验
				 {
					if(!isInt(form[i].value))
					{
						str_warn=form[i].title+"格式不对,必须是整形数值!";
						alert(str_warn);
						form[i].focus();
					    return false;
					}
				}
				if(form[i].name.substring(2,5).toUpperCase()=="FLA")//float数字校验
				 {
					if(!isFloat(form[i].value))
					{
						str_warn=form[i].title+"格式不对,必须是浮点数!";
						alert(str_warn);
						form[i].focus();
					    return false;
					}
				}
				if(form[i].name.substring(2,5).toUpperCase()=="DAT")//date校验
				 {
					if(!isDate(form[i].value))
					{
						str_warn=form[i].title+"格式不对,必须是日期型数据!\n格式为:YYYY-MM-DD";
						alert(str_warn);
						form[i].focus();
					    return false;
					}
				}
				if(form[i].name.substring(2,5).toUpperCase()=="MAL")//mail校验
				 {
					if(!isMailAddress(form[i].value))
					{
						str_warn=form[i].title+"格式不对,必须是正确的邮件地址!\n格式为:sina@sina.com";
						alert(str_warn);
						form[i].focus();
					    return false;
					}
				}
		 }
	
	}
	
	}
	//改名字
	for(i=0;i<form.length;i++){
		//凡是这种类型的
		if((((form[i].tagName.toUpperCase()=="INPUT") && (form[i].type.toUpperCase()=="TEXT" || form[i].type.toUpperCase()=="PASSWORD" )) || (form[i].tagName.toUpperCase()=="TEXTAREA")) && (form[i].title!="") && (form[i].name.length>=5))
    {
	//把Y_str_sdfsdf 转换成 sdfsdf
	form[i].name=form[i].name.substring(6,form[i].name.length);
	form[i].value=trim(form[i].value) ;
	}
	}
	return true;
}
//检查整形数值的函数
function isInt(inputVal) { 
   inputStr = inputVal.toString()
   for (var i = 0; i < inputStr.length; i++) {
          var oneChar = inputStr.charAt(i)
         if (oneChar < "0" || oneChar > "9") {
              return false;
        }
   }
return true;
}
//检查浮点型数值的函数
function isFloat(inputVal) { 
   inputStr = inputVal.toString()
   for (var i = 0; i < inputStr.length; i++) {
          var oneChar = inputStr.charAt(i)
         if ((oneChar < "0" || oneChar > "9") && oneChar!=".") {
              return false;
        }
   }
return true;
}
//检查日期型数据
function isDate(sDate)
{	var iaMonthDays = [31,28,31,30,31,30,31,31,30,31,30,31]
	var iaDate = new Array(3)
	var year, month, day

	if (arguments.length != 1) return false
	iaDate = sDate.toString().split("-")
	if (iaDate.length != 3) return false
	if (iaDate[1].length > 2 || iaDate[2].length > 2) return false

	year = parseFloat(iaDate[0])
	month = parseFloat(iaDate[1])
	day=parseFloat(iaDate[2])
	//alert(year+month+day)
	if (year < 1900 || year > 2100) return false
	if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
	if (month < 1 || month > 12) return false
	if (day < 1 || day > iaMonthDays[month - 1]) return false
	return true
}
//校验邮件
function isMailAddress(strMail){

   if(strMail.indexOf('@')<1){
   return false;
   }
   if(strMail.indexOf('.')<1){
   return false;
   }
   return true;

}
//字符串压缩函数
function trim(str)
{
	strTemp = str;
	if (strTemp==null||str=="")
	{
		return "";
	}
	//左压缩
	while(strTemp!="" && strTemp.charAt(0)==' ')
	{
		strTemp = strTemp.substring(1,strTemp.length);
	}
	//右压缩
	while(strTemp!="" && strTemp.charAt(strTemp.length-1)==' ')
	{
		strTemp = strTemp.substring(0,strTemp.length-1);
	}
	return strTemp;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -