📄 checkdatafunction.js
字号:
/*以下校验函数,通过返回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 + -