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

📄 checkdatafunction.js

📁 易想商城系统
💻 JS
📖 第 1 页 / 共 2 页
字号:
/*以下校验函数,通过返回true,否则为false; [huangsong]
  所有的函数2和原函数是一样的 ,如:CheckPN和CheckPN2
  以下校验函数中的参数page是向导的页码 ,不是向导的,不用此参数
*/
			

			var maxpn=99999999;
			var maxfn=99999999.9;
			var numerrormsg0="请输入0-99999999之内的数字";
			var numerrormsg1="请输入1-99999999之内的数字";
			var overerrormsg="数值超过最大值99999999";

//检查输入键是否为0~9,a~z(A~Z),Del,-,.,/
function CheckKey(KeyCode)
{
Zero=48;
Nine=57;
Delete=46;
Minus=189;
Dot=190;
Divide=191;
Key_a=65;
Key_z=90;
_Zero=96;
_Nine=105;
_Divide=111;
_Minus=109;
_Dot=110;
return ((KeyCode>=Key_a)&&(KeyCode<=Key_z))||((KeyCode>=Zero)&&(KeyCode<=Nine))||((KeyCode>=_Zero)&&(KeyCode<=_Nine))||(KeyCode==Delete)||(KeyCode==Dot)||(KeyCode==Minus)||(KeyCode==Divide)||(KeyCode==0)||(KeyCode==_Minus)||(KeyCode==_Divide)||(KeyCode==_Dot);
}

			//取整函数
			//eg. Round(132.123456) 为 132.12
			//eg. Round(132.123456,4) 为 132.1234
			//eg. Round(132.123456,0) 为 132
			function Round(i,digit)
			{
				if(digit==0)
					p=1;
				else
				{
					if(digit)
						p=Math.pow(10,digit);
					else
						p=100;
				}
				return Math.round(i*p)/p;
			}
			
/*			功能: 得到两个日期相差的天数(每一个月按30天,一年360天计算)
			入口参数:	
						date1: 日期对象1
						date2: 日期对象2
						返回 date1 - date2相差的天数 */
			function getDiffDay(date1,date2)
			{
				var year=date1.getFullYear() - date2.getFullYear();
				var month=date1.getMonth() - date2.getMonth();
				var day=date1.getDate() - date2.getDate();				
				return year*12*30+month*30+day;
			}
			
			/*  功能: 把一个日期加上n天(每一个月按30天,一年360天计算)
				入口参数:	
						thedate: 要计算的日期对象
						days: 增加的天数 
				如果计算出的日期不合法: 年大于9999等,则返回false,否则true */
			function addday(thedate,days)
			{
				day=thedate.getDate();
				month=thedate.getMonth()+1;
				year=thedate.getFullYear();
				mod_y=days % 360;
				y=Math.floor(days/360);
				year+=y;				
				if (mod_y!=0)
				{
					mod_m=mod_y % 30;
					m=Math.floor(mod_y / 30);
					month+=m;
					
					if (mod_m!=0)
					{
						
						day+=mod_m;						
						if (day>30)
						 {
						  month++;
						  day-=30;
						 }
					}				
				 }
				thedate.setTime(new Date(year,month-1,day)); 
				return (year<=9999);
			}
			
			
			/*	功能: 校验一个正整数
			入口参数:	
						CheckCtl: 要校验的输入框
						disptext: 出错显示的信息
						IsCanZero : 是否可以为零*/
			function CheckPN(CheckCtl,disptext,IsCanZero,CanMoreZero) 
			{
				var s=new String(Trim(CheckCtl.value));
				var temp=parseInt(s);
				var result=true;
				if ( (isNaN(temp))||( s.indexOf(".")>=0 )||(temp!=s))
				{
					result=false;
				}				
				else if ( (!IsCanZero)&&(temp==0) )
				 {
				 	result=false;
				 }
				if ((! CanMoreZero)&&(temp<0))
				 {
				    result = false;
	             }
				if  (temp>maxpn) 
				{
					result=false;
					disptext=overerrormsg;
				}
				 if (!result)
				 {
					DispMessage(CheckCtl, disptext);
					return false;
				}					
				 return true; 
			}
			
			
			
			function CheckPN2(CheckCtl,disptext,IsCanZero)
			{  
				var s=new String(Trim(CheckCtl.value));
				var temp=parseInt(s);
				var result=true;
				if ( (isNaN(temp))||( s.indexOf(".")>=0 )||(temp!=s))
				{
					result=false;
				}				
				else if ( (!IsCanZero)&&(temp==0) )
				 {
				 	result=false;
				 }
				if  (temp>maxpn) 
				{
					result=false;
					disptext=overerrormsg;
				}
				 if (!result)
				 {
					DispMessage(CheckCtl, disptext);
					return false;
				}					
				 return true; 		
			}			
			
			
			
			
			/*功能: 校验一个合法的大于等于0的浮点数
			入口参数:	
						CheckCtl: 要校验的输入框
						disptext: 出错显示的信息	
						floatcount: 小数的最高位数(如果没有该参数,则默认为4位)
						如果没有page参数,有floatcunt参数则:把page 置null
						如:	CheckFN(CheckCtl,"出错显示的信息",null,5)				*/
			function CheckFN(CheckCtl,disptext,page,floatcount)
			{					
				var s=new String(Trim(CheckCtl.value));
				if (s == "")
				{
				    return true;
				}
				temp=parseFloat(s);
				var result=true;
				if( (isNaN(temp)) || (temp< 0)||(temp!=s) )
				{					
					result=false;
				}	
				else if (temp>maxfn) 
				{
					result=false;
					disptext=overerrormsg;
				}
				else
				{ 	 					
					limitcount=floatcount?floatcount:6;
					var array=s.split(".");
					if (array[1]==null)
					count=-1;
					else
					{
					var str=new String(array[1]);
					count=str.length;
					}
					if (count>limitcount)
					{
					if (page)
						showguide(page);
					 b=confirm("小数位数超过"+limitcount+"位,数据库只能存储6位小数,是否继续?"); 
					 if (b)
					  {
					   return true;
					  }
					  else
					  {
					    CheckCtl.select();
						CheckCtl.focus();
						return false;
					  }
					}
				 }	
				 if (!result)
				 {
					if (page)
					 showguide(page);
					DispMessage(CheckCtl,disptext);
					return false;
				 }			
				    return true;
				
			}
						
			
			function CheckFN2(CheckCtl,disptext,page,floatcount)
			{  
				return CheckFN(CheckCtl,disptext,page,floatcount);
			}
			
			function CheckFN3(CheckCtl,disptext,IsCanZero,page,floatcount)
			{					
				
				if ( CheckFN(CheckCtl,disptext,page,floatcount) )
				 {
					if ( (parseFloat(CheckCtl.value)==0) &&(!IsCanZero) )
						{
							if (page)
								showguide(page);
							DispMessage(CheckCtl,disptext);
							return false;
						}
					else return true;	
				 }		
				else
				 return false;
			}
			
				/*判断是否是数字的函数
			   输入:
			      txtctl   输入的文本控件
			      message  显示的错误信息
			      返回值   是数字返回true,不是返回false
					floatcount: 小数的最高位数(如果没有该参数,则默认为4位)
						如果没有page参数,有floatcunt参数则:把page 置null
						如:	IsNum(txtctl,"出错显示的信息",null,5)  */
			function IsNum(txtctl,message,page,floatcount,norange)
			{
				var s=new String(Trim(txtctl.value));
				var result=true;
				var num=Number(s);
				if ( (isNaN(num)) || (s=="") )
				{
					result=false;
				}						
				else if (num>maxfn)
				{
					if (!norange)
					{
						message=overerrormsg;
						result=false;
					}
				}
				else
				{
					limitcount=floatcount?floatcount:4;
					var array=s.split(".");
					if (array[1]==null)
					count=-1;
					else
					{
					var str=new String(array[1]);
					count=str.length;
					}
					if (count>limitcount)
					{
					 if (page)
						showguide(page);
					 b=confirm("小数位数超过"+limitcount+"位,是否继续?"); 
					 if (b)
					  {
					   return true;
					  }
					  else
					  {
					    txtctl.select();
						txtctl.focus();
						return false;
					  }
					}
				}
				if (!result)
				{
					if (page)
						showguide(page);
					DispMessage(txtctl,message);
					return false;
				}	
					return true;	
			}
		
			function IsNum2(txtctl,message,page,floatcount)
			{
				return IsNum(txtctl,message,page,floatcount);
			} 


			function CheckEmpty2(CheckCtl,disptext,page)
			{  
				return CheckEmpty(CheckCtl,disptext,page);
			}
			
			/*功能: 校验一个值是否为空
			入口参数:	
						CheckCtl: 要校验的输入框
						disptext: 出错显示的信息						*/
			function CheckEmpty(CheckCtl,disptext,page)
			{				
				if (Trim(CheckCtl.value)=="" )
				{
					if (page)
					 showguide(page);
					DispMessage(CheckCtl,disptext);	
					return false;
				}
				else
				  return true;
			}
			
		
			function CheckIntRange2(CheckCtl,Min, Max,Msg,page)
			{
				return CheckIntRange(CheckCtl,Min, Max,Msg,page);

⌨️ 快捷键说明

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