Js在业务软件中的方法大全

时间:2025-02-16 17:28:28
1
一 js大全...............................................................................................................3
1.1 全是数字..................................................................................................3
1.2 限制 期限 不能大于 100 年....................................................................4
1.3 将日期格式由yyyy-MM-dd,转换为yyyymmdd,以直接比较两个日 期的大小........................................................................................................4
1.4 判断字符串是否全部由数字组成..........................................................5
1.5 判断字符串是否全部由字母组成..........................................................6
1.6 对于月和日,如果前面有零,去除,如 01 变为 1.............................6
1.7 为 1 位的日月在前面补零,如将 1 变为 01 .........................................7
1.8 在删除按钮的onclick事件触发..............................................................8
1.9 对输入控件的内容进行非空检验,如果为空,弹出提示信息........10
1.10 检验控件值是否是固定位数的有效数字..........................................11
1.11 所输内容应为字母..............................................................................12
1.12 过滤掉"'"、"%"、"&"、"/"、"" .........................................................13
1.13 删除字符串两侧的空格......................................................................14
1.14 取字符串长度(不包含两端的空格) ...................................................14
1.15 清空查询条件......................................................................................16
1.16 价格输入是否合法(99,999.00)......................................................17
1.17 检验货票号为 1 位字母+6 位数字.....................................................17
1.18 检验起始货票号必须小于截至货票号..............................................18
1.19 检验查询条件是否为空,为空则提示"查询条件不能为空!" ......19
1.20 检验是不是最短位数的数字,用于模糊查询.....................................20
1.21 输入为Decimal格式的数,且小数点前后都不能超过规定的位数 20
1.22 电话号码校验(只能为横线—、()、或数字) ...............................21
1.23 检测输入是否为正整数数字,如果结果为非给出相应提示..........22
1.24 避免多次提交页面 在jsp中嵌入该文件,在每个jsp页面的提交语23
1.25 检查EMail格式....................................................................................23
1.26 电话号码由数字和-组成..................................................................24
1.26 检验输入的日期yyyy-MM-dd............................................................27
1.27 去掉界面上开头的空格,过滤掉"'" 和"""...........................................33
1.29 去掉汉字间空格..................................................................................35
1.30 大小写转换..........................................................................................36
1.31 过滤掉"'"和""".....................................................................................36
1.32 清空查询条件......................................................................................37
1.33 过滤掉"'"和"""和空格.........................................................................37
1.34 操作员代码为 7 位数字,密码最少为 4 位 .........................................38
1.35 身份证为 15 或 18 位数字或字母 ......................................................38
1.36 检验输入的时间段,日期格式yyyy-MM-dd.......................................39
1.37 检验输入的时间段,日期格式yyyy-MM-dd.......................................41
1.39 检查EMail格式是否正确....................................................................47
1.40 电话号码校验(只能为下划线—、()、或数字) ...........................49
1.41 所输内容应为字母..............................................................................50
1.41 所输内容不能非空..............................................................................50
1.42 价格输入是否合法(99,999.00)......................................................51
2
1.43 价格输入是否合法(99,999.00)......................................................52
1.44 判断文本内容是否少于 2 个汉字/字符(js中汉字和字符占位一 样)..............................................................................................................53
1.45 检测输入是否只有字母或数字..........................................................53
1.46 检测输入是否只有数字或不详,且输入数值不能过大(不能超过
32767)........................................................................................................54
1.47 检测输入是否为数字..........................................................................55
1.48 监测输入是否为数字,且所输入数值不能过大(不能超过 5 位
32767)........................................................................................................56
1.49 检测输入是否为整形数字,且所输数值不能过大(不能超过 10 位
2147483647)..............................................................................................57
1.52 输入为Decimal格式的数,且小数点前后都不能超过规定的位数
/************************************ ............................................59
1.53 可以为负数的数字,数值不能超过 5 位 32767...............................60
1.54 险情报告编号为四位年份加三位数字..............................................61
1.55 检验度数控制值是否是数字,并且小于或等于 180;
/************************************ ............................................62
1.56 删除字符串两侧的空格,返回的是删除两侧空格的字符串.............63
1.57 打开模式窗口,窗口居中..................................................................65
1.59 检验输入的时间段,日期格式yyyy-MM-dd.......................................67
1.60 检验输入的日期yyyy-MM-dd............................................................69
1.61 用下拉框显示月、日,日下拉框根据年月确定..............................73
1.62 检验租赁合同号为 4 位年份+2 位月份+本月合同的顺序号 2 位...75
1.63 用于多行校验,校验每一行,每一列值是否为空,传入的必须是
......................................................................................................................76
1.64 检查某列得多值中是否存在重复值..................................................79
1.65 检查某列得多值与某一值得比较是否相同,例如多个到站路局与 一个发站路局是否相同..............................................................................80
1.66 检查两多值列是否相同,例如同一行的装车路局是否与卸车站所
属路局是否相同..........................................................................................80
1.67 检查箱数与组数..................................................................................81
1.68 检查箱数与组数..................................................................................82
1.69 检查箱数与组数..................................................................................84
1.70 检查单列多值不能超过一定得长度..................................................85
1.71 取字符串长度(不包含两端的空格 ....................................................86
1.72 向表格中添加一行..............................................................................86
1.73 将添加的输入框元素和Validator进行绑定。...................................89
1.74 根据<common:text>标签展示的<input validator="decimal(16,2+)">
的validator属性获取校验器类名(DecimalValidator)...........................91
1.75 删除一行..............................................................................................92
1.76 根据箱型,校验箱数与组数的值是否符合规定..............................93
1.77 删除字符串两侧的空格......................................................................95
1.78 检验单个集装箱箱号为 4 位字母+7 位数字.....................................95
1.79 检验多个集装箱箱号为 4 位字母+7 位数字.....................................97
3
1.80 检验单个集装箱箱号为'TBJU'+7 位数字用于租赁部分的箱号校验
....................................................................................................................101
1.86 判断字符串是否全部由字母组成....................................................105
1.88 为 1 位的日月在前面补零,如将 1 变为 01 ...................................107
1.90 检查EMail格式..................................................................................107
1.91 对输入控件的内容进行非空检验,如果为空,弹出提示信息....109
1.92 检验控件值是否是固定位数的有效数字........................................110
1.93 所输内容应为字母............................................................................111
1.94 过滤掉"'"、"%"、"&"、"/"、"" .......................................................112
1.95 取字符串长度(不包含两端的空格) .................................................113
1.96 将金额转化成按千分位的显示格式................................................114
1.97 清空查询条件....................................................................................115
1.98 价格输入是否合法(99,999.00)....................................................115
1.99 检验货票号为 1 位字母+6 位数字...................................................116
2.00 检验起始货票号必须小于截至货票号............................................117
2.01 检验查询条件是否为空,为空则提示"查询条件不能为空!" ....118
2.02 检验是不是最短位数的数字,用于模糊查询...................................118
2.03 输入为Decimal格式的数,且小数点前后都不能超过规定的位数
....................................................................................................................119
2.04 电话号码校验(只能为横线?、()、或数字) ...............................120
2.05(1)电话号码由数字和-组成............................................................ 120 (2)电话号码为 7 到 13 位 ......................................................................... 120 (3)13 开头的头的手机号码必须为 11 位 ................................................120
2.06 检测输入是否为正整数数字,如果结果为非给出相应提示........121
2.07 避免多次提交页面 在jsp中嵌入该文件,在每个jsp页面的提交语句 前执行该方法............................................................................................121
2.08 检查EMail格式..................................................................................122
2.09 电话号码由数字和-组成................................................................123
2.10 检验IP地址 ........................................................................................124
2.11 校验忽略样式内容后文本域中的内容是否为空//校验忽略样式内容 后文本域中的内容是否为空....................................................................124
2.12 计算天数差的函数............................................................................125
2.13 把结束日期月份加上月末日期........................................................125
2.14 检验输入的日期yyyy-MM...............................................................126
Js 大全
一 校验 js
1.1 全是数字
function isNumber(nStr){
4
var re=//D/g; //非数字的正则表达式
return !(nStr);
}
//操作员口令校验,3-12 位数字或字母
function isPassword(nStr){
return ((>=3) && (<=12));
}
//操作员编号校验,7 位数字
function isOperId(sId){
return (isNumber(sId) && (==7));
}
1.2 限制 期限 不能大于 100 年
/**
*功能: 限制 期限 不能大于 100 年
*@param period 期限
*@param flag 期限单位
*@return true 通过检查; false 未通过检查
*/
function checkDatePeriod(period,flag){
var ret=true;
if(flag=="0"){
if(period>100)
ret= false;
}
else if(flag=="1"){
if(period >100 * 12)
ret= false;
}
else if(flag=="2"){
if(period >100 * 12 * 365)
ret= false;
}
return ret;
}
1.3 将日期格式由 yyyy-MM-dd,转换为 yyyymmdd,以直接比较两个日期的大

/************************************************
function: dateFormat
5
purpose: 将日期格式由 yyyy-MM-dd,转换为 yyyymmdd,以直接比较两个 日期的大小
parameters : 需要进行转换的日期串
return value : 处理后的日期串
*************************************************/
function dateFormat(str)
{
var yy="",mm="",dd="";
m=0;
j=0;
for (i=0;i<=;i++){ if((i)=="-" || i==){ m++;
if(m==1)
yy=(j,i);
if(m==2)
mm=(j,i);
if(m==3)
dd=(j,i);
j=i+1;
}
}
if (mm!="")
mm=fillZero(mm); if (dd!="") dd=fillZero(dd);
date = yy + mm +dd;
return (date);
}
1.4 判断字符串是否全部由数字组成
/************************************************
function: isNumber
purpose: 判断字符串是否全部由数字组成
parameters : 需要进行判断的字符串
return value : true/false
*************************************************/
function isNumber(controller,message){ var value=; if(!=0){
for (i=0;i<;i++){
if ((i)>'9' || (i)<'0'){
alert(message+"为 0-9 的数字");
6
();
return false;
}
}
}
return true;
}
1.5 判断字符串是否全部由字母组成
/************************************************
function: isLetter
purpose: 判断字符串是否全部由字母组成
parameters:需要进行判断的字符串
return value: true/false
************************************************/
function isLetter(controller,message){ var value=; if(!=0){
for(i=0;i<;i++){
if((!((i)>="a" && (i)<="z")) && (!((i)<="Z" && (i)>="A"))){
alert(message+"为 A-Z 或 a-z 的字母");
();
return false;
}
else return true;
}
}
else return true;
}
1.6 对于月和日,如果前面有零,去除,如 01 变为 1
/************************************************
function: trimZero
purpose: 对于月和日,如果前面有零,去除,如 01 变为 1
parameters : 需要进行处理的字符串
return value : 处理后的字符串
*************************************************/
function trimZero(str)
{
var i,j,result="";
j = ;
for (i=0;i<j;i++)
if ( (i)!='0' ) break;
7
result = (i,j);
return result;
}
//判断是否是数字
function isNum(str){ var sl = 0; if(>0)
{
if (((0)<'0' || (0)>'9') && (0)!='.'&&
(0)!='-')
return false;
}
if(>=1)
{
for (var i=0;i<;i++)
{
if (((i)<'0' || (i)>'9') && (i)!='.')
return false;
if ((i) == ".")
{
sl = sl + 1;
}
}
if (sl > 1)
{
return false;
}
if ((-1) == ".")
{
return false;
}
if (str == ".")
{
return false;
}
}
return true;
}
1.7 为 1 位的日月在前面补零,如将 1 变为 01
/************************************************
function: fillZero
purpose: 为 1 位的日月在前面补零,如将 1 变为 01
parameters : 需要进行处理的字符串
return value : 处理后的字符串
*************************************************/
8
function fillZero(str)
{
var i,j,result="";
j = ;
if (j==1)
result = "0" + str;
else
result = str;
return result;
}
1.8 在删除按钮的 onclick 事件触发
/************************************
function: delConfirm()
purpose: 在删除按钮的 onclick 事件触发
parameters : 提交的表单名称
************************************/
function delConfirm(form){
if (confirm("确定要删除吗?"))
();
}
/************************************
function: checkEmail() purpose: 检查 EMail 格式 parameters : 控件名称
return value : true/false.
************************************/
function checkEmail(controller)
{
var strEmail=;
var strE="@"; var strI="."; var i;
var iPos; var iLen; var iT=0;
var strT="";
if (!=0){ strT=strEmail; i=(" "); if(i != -1)
{ alert("邮件地址不正确");
return false;
}
9
do
{
iPos=(strE);
iLen=;
if (iPos==-1)
{
if(iT==0)
{ alert("邮件地址不正确");
return false;
}
else
{
}
else
{
}
break;
if ((iPos==0)||(iPos==(iLen -1)))
{ alert("邮件地址不正确");
return false;
}
else
{
}
iT++;
}
}
strT=(iPos+1);
while(strT !="")
if (iT !=1)
{ alert("邮件地址不正确");
return false;
}
strT=(iPos+1,1);
if (strT==".")
{ alert("邮件地址不正确");
return false;
}
iT=0; iPos=(strE); strT=(iPos+1); do
{
iPos=(strI);
iLen=;
if (iPos== -1)
{
break;
10
}
else
{
if((iPos==0)||(iPos==(iLen -1)))
{ alert("邮件地址不正确");
return false;
}
else
{
}
iT++;
}
}
strT=(iPos+1);
while(strT !="")
iPos=(strE); strT=(0,iPos); iPos=(strI);
if(iPos != -1)
{ alert("邮件地址不正确");
return false;
}
}
return true;
}
1.9 对输入控件的内容进行非空检验,如果为空,弹出提示信息
/************************************
function: checkNotnull()
purpose: 对输入控件的内容进行非空检验,如果为空,弹出提示信息
parameters : 控件名称,提示信息
return value : true/false.
************************************/
function checkNotnull(controller,message){ var value=trim(); = value;
if (==0){
alert(message+"不能为空!");
();
return false;
}
return true;
}
11
1.10 检验控件值是否是固定位数的有效数字
/************************************
function: checkNumber()
purpose: 检验控件值是否是固定位数的有效数字
parameters : 控件名称,提示信息
return value : true/false.
************************************/
function checkNumber(controller,len,message){
var value=;
var count=0;
if (!=0){
for (var i=0;i<;i++){
if ((i)>"9" || (i)<"0"){
alert(message + "为 0-9 的数字");
();
return false;
}
}
if (
>
10){
alert(message+"的数字太大,请检查!");
();
return false;
}
else if ( == 10){
if (value > "2147483647"){
alert(message+"的数字太大,请检查!");
();
return false;
}
}
}
if(>len||(<len&&value!="")){
alert(message+"应为"+len+"位");
return false;
}
else return true;
}
/* */
function checkNum(controller)
{
var value=;
var count=0;
if (!=0){
for (var i=0;i<;i++){
if ((i)>"9" || (i)<"0")
12
}
}
return(true);
}
return(false);
function checkNumN(Num)
{
var value=trim(Num);
var count=0;
if (!=0){
for (var i=0;i<;i++){
if ((i)>"9" || (i)<"0")
return(false);
}
}
return(true);}
1.11 所输内容应为字母
/************************************ Method: checkLetter()
purpose: 所输内容应为字母
parameters : 控件名称,提示信息
return value : true/false.
测试页面:
************************************/
function checkLetter(controller,len,message){
var value=;
if (!=0){
for (var i=0;i<;i++){
if((!((i)>="a" && (i)<="z")) && (!((i)<="Z" && (i)>="A"))){
alert(message+"为 A-Z 或 a-z 的字母");
();
return false;
}
}
}
/**********liu_qchao add 2004-9-21**********/
if(>len){
alert(message+"应小于等于"+len+"位!");
return false;
}
/******************************************/
var upValue = ();
= upValue;
return true;
13
}
1.12 过滤掉"'"、"%"、"&"、"/"、"/"
/************************************ Method: quoteFilter()
purpose: 过滤掉"'"、"%"、"&"、"/"、"/"
parameters : 控件名称
************************************/
function quoteFilter(controller){
var value=;
if (!=0)
{
pos1 = ("'"); pos2 = ("%"); pos3 = ("//"); pos4 = ("/"); pos5 = ("&");
if(pos1>-1 || pos2>-1 || pos3>-1 || pos4>-1 || pos5>-1)
{
if(pos1>-1)
{
pos1 = ("'");
value = (0,pos1) +
(pos1+1,);
}
if(pos2>-1)
{
pos2 = ("%");
value = (0,pos2) +
(pos2+1,);
}
if(pos3>-1)
{
pos3 = ("//");
value = (0,pos3) +
(pos3+1,);
}
if(pos4>-1)
{
pos4 = ("/");
value = (0,pos4) +
(pos4+1,);
}
if(pos5>-1)
{
pos5 = ("&");
14
value = (0,pos5) +
(pos5+1,);
} = value; quoteFilter(controller);
}
}
}
1.13 删除字符串两侧的空格
function trim(str)
{
str = this != window? this : str;
return (/^/s+/g, '').replace(//s+$/g, '');
}
1.14 取字符串长度(不包含两端的空格)
/************************************
function: getCNTxtLength(controller) purpose: 取字符串长度(不包含两端的空格) parameters : 字符串
return value : int
************************************/
function getCNTxtLength(controller) {
var len; var i; len = 0;
for (i = 0 ;i < ; i++) {
if ((i) > 255)
len += 2;
else
}
len++;
return len;
}
/**/
function formatNumber(num,Fraction)
{
num = ().replace(//$¥|/,/g,'');
if(isNaN(num))//not a number num = "0";
Fraction = ();
15
if(isNaN(Fraction)) Fraction="0";
var nMulti=1;
var nFraction = parseInt(Fraction,10)
for(var i=0;i<nFraction;i++)
nMulti = nMulti*10;
num = (num*nMulti);
cents = num%nMulti;
num = (num/nMulti).toString();
//设置千分位
for (var i = 0; i < ((-(1+i))/3); i++) num = (0,-(4*i+3))+','+ (-(4*i+3));
//计算小数点后加多少“0”;
var n = 0;
var sum = cents; var zero=""; if(cents ==0)
{
}
else
{
n = nFraction-1;
while(sum*10 < nMulti)
{
sum = sum*10;
n++;
}
}
for(var j=0;j<n;j++)
{
zero = zero +"0";
}
cents = zero + cents;
if(nFraction > 0)
num = num + '.' + cents;
return num;
}
function amtTranBack(moneyStr){
return parseFloat((/,/g, ""));
}
//将金额转化成按千分位的显示格式
function amtTranShow(amtStr){
var a,renum='';
16
var j=0;
var a1='',a2='',a3=''; var tes=/^-/; if(>=33&&<=40) return;
a=(/,/g, "");
a=(/[^-/.,0-9]/g,"");//删除无效字符
a=(/(^/s*)|(/s*$)/g, "");//trim if((a)) a1='-';
else a1='';
a=(/-/g,"");
if(a!="0" && (0,2)!="0.")a=(/^0*/g, "");
j=('.'); if(j<0) j=; a2=(0,j); a3=(j); j=0;
for( i=;i>3;i=i-3){ renum=","+(i-3,3)+renum; j++;
}
renum=a1+(0,-j*3)+renum+a3;
return renum;
}
1.15 清空查询条件
/************************************ Method: setClear()
purpose: 清空查询条件
parameters: num 页面上的控件个数
************************************/
function setClear(){
divColl = ("input");
for (i=0; i<; i++) {
whichEl = divColl(i);
if (!="button")
{
= "";
}
}
divColl = ("select");
for (i=0; i<; i++) {
whichEl = divColl(i);
if(!="pagesize"&&!="Pagelist")
[0].selected = true;
17
}
}
1.16 价格输入是否合法(99,999.00)
/************************************ Method: checkPrice()
purpose: 价格输入是否合法(99,999.00)
parameters : 控件名称,提示信息
return value : true/false.
************************************/
function checkPrice(controller,message){
var value=;
var m=0;
if (!=0){
for (var i=0;i<;i++){
if (((i)>"9" || (i)<"0") &&
(i)!="." && (i)!=",") {
alert(message + "用小数或整数表示!");
();
return(false);
}
if ((i)==".")
{
m++;
}
}
if (
m>1)
{
alert(message + "至多有一个小数点!");
();
return(false);
}
}
else ="";
return true;
}
1.17 检验货票号为 1 位字母+6 位数字
/************************************ Method: checkHph()
purpose: 检验货票号为 1 位字母+6 位数字
parameters : 控件名称,提示信息
return value : true/false.
18
************************************/
function checkHph(controller,message){
var value=;
if (!=0 ){
if((!((0)>="a" && (0)<="z")) && (!((0)<="Z" && (0)>="A"))){
alert(message+"的第一位应该为字母");
();
return(false);
}
for (var i=1;i<;i++){
if( (i)>"9" || (i)<"0"){
alert(message+"的格式错误,正确的格式应为 1 位字
母+6 位数字");
}
();
return(false);
}
}
upValue = ();
= upValue;
return true;
}
1.18 检验起始货票号必须小于截至货票号
/************************************ Method: checkHphSeq()
purpose: 检验起始货票号必须小于截至货票号
parameters :
return value : true/false.
************************************/ function checkHphSeq(qsController,jzController){ var qshp=;
var jzhp=;
if (==0 && !=0){
var i = checkHph(jzController,"截止货票号");
return i;
}
if (
==0 && !=0){
var j = checkHph(qsController,"起始货票号");
return j;
}
if (!=0 && !=0){
if (!checkHph(qsController,"起始货票号"))
return false;
19
if (!checkHph(jzController,"截止货票号"))
return false;
if (checkHph(qsController,"起始货票号") && checkHph(jzController,"截止货票号
")){
if (qshp>jzhp){
alert("起始货票号不能大于截止货票号!");
return false;
}
}
}
return true;
}
1.19 检验查询条件是否为空,为空则提示"查询条件不能为空!"
/************************************ Method: checkConditionNotNull()
purpose: 检验查询条件是否为空,为空则提示"查询条件不能为空!"
parameters :
return value : true/false.
************************************/
function checkConditionNotNull(){
var notNull=false;
divColl = ("select");
for (i=0; i<; i++) { whichEl = divColl(i); if(!=0){
if(!="fsdwlx"&&!="dddwlx"&&!="pagesize"
&&!="Pagelist"&&!="zfdwlx"&&!="zddwlx"
&&!="xfdwlx"&&!="xddwlx"){
notNull=true;
break;
}
}
}
if(notNull==false){
divColl = ("input");
for (i=0; i<; i++) {
whichEl = divColl(i);
if (!="button"&&
!="hidden"){
if(!==0){
notNull=true;
break;
}
20
}
}
}
if(notNull==true) return true;
else {
alert("查询条件不能为空!");
return false;
}
}
1.20 检验是不是最短位数的数字,用于模糊查询
/************************************
Method: checkNumberLeastLen(controller,leastLen,message)
purpose: 检验是不是最短位数的数字,用于模糊查询
parameters : controller,leastLen,message return value : true/false.
************************************/
function checkNumberLeastLen(controller,leastLen,message){
var value=;
if (!=0){
for (var i=0;i<;i++){
if ((i)>"9" || (i)<"0"){
alert(message + "为 0-9 的数字");
();
return false;
}
}
if (
>=10){
alert(message+"的数字太大,请检查!");
();
return false;
}
}
if( <leastLen&&>0){
alert(message+"至少应为"+leastLen+"位");
();
return false;
}
else return true;
}
1.21 输入为 Decimal 格式的数,且小数点前后都不能超过规定的位数
/************************************
Method: checkDecimalNumber(controller,message,befor,after)
purpose: 输入为 Decimal 格式的数,且小数点前后都不能超过规定的位数
21
parameters : 控件名称,提示信息,小数点前面的最大位数,小数点后面的最 大位数
return value : true/false.
************************************/
function checkDecimalNumber(controller,message,befor,after){
var re=new RegExp("^((//d{1," + befor + "}(//.//d{1," + after + "})?)||(//.//d{1," + after + "}))$");
if(!()){
alert("提示:" + message + "输入错误必须为整数或小数,且整数位不
得大于" + befor + "位," + "小数位不得大于" + after + "位!");
return false;
}else{
}
}
return true;
1.22 电话号码校验(只能为横线—、()、或数字)
/************************************ Method: isTel(controller)
purpose: 电话号码校验(只能为横线—、()、或数字)
************************************/
function isTel(controller){
var tel=;
var validchars = "-()1234567890 ";
for (i=0;i<;i++){
telchar=(i);
if ((telchar, 0) == -1){
alert("请输入正确的电话号码格式!");
();
return false;
}
}
return true;
}
/************************************ (1)电话号码由数字和-组成 (2)电话号码为 7 到 13 位
(3)13 开头的头的手机号码必须为 11 位
************************************/
function phoneCheck(controller,msg) { var str=trim(); var rst = (0,2);
var re = /^[1][3]/d{9}$/;
var reg = /^((/d{3,4}/-)?/d{7,8}(/-/d)?)$/;
if((rst == 13)&&(!=11)&&!(str)){
22
alert(msg+"号码格式错误,请输入正确的电话号码(手机)!");
();
return false;
}else if((rst != 13)&&!(str)){
alert(msg+"号码格式错误,请输入正确的电话号码!");
();
return false;
}
return true;
}
1.23 检测输入是否为正整数数字,如果结果为非给出相应提示
/************************************
Method: checkNumber(controller,message)
purpose: 检测输入是否为正整数数字,如果结果为非给出相应提示
parameters : 控件名称,提示信息
return value : true/false.
condition: controller:must;message:optional
************************************/
function checkNumber(controller,message)
{
var value=;
var count=0;
if (!=0)
{
for (var i=0;i<;i++)
{
if ((i)>"9" || (i)<"0")
{
if(message!=null){
alert(message+":为正整数的数字")
}else{
alert("为正整数的数字");
}
=""; (); return(false);
}
}
}
=value;
return true;
}
23
1.24 避免多次提交页面 在 jsp 中嵌入该文件,在每个 jsp 页面的提交语
Method: checkSubmit()
purpose: 避免多次提交页面 在 jsp 中嵌入该文件,在每个 jsp 页面的提交语
句前执行该方法
************************************/
var requestSubmitted = false;
function checkSubmit()
{
if(requestSubmitted == true)
{
alert("您已经提交了请求,请等待服务器的应答......");
return false;
}
requestSubmitted =
true;
return true;
}
1.25 检查 EMail 格式
/**********************************************
function: checkEmailAll() purpose: 检查 EMail 格式 parameters : 控件名称
return value : true/false.
**********************************************/
function checkEmailAll(controller){
var strEmail=trim();
var strE="@"; var strI="."; if((" ")>0){
alert("邮件地址不正确");
return false;
}
if((strE)==-1){
alert("邮件地址不正确");
return false;
}
if((strI)==-1){
alert("邮件地址不正确");
return false;
}
var count = 0;
if (!=0){
for (var i=0;i<;i++){
if ((i)=="."){
24
}
}
if(count>2){
count++;
}
return false;
}
alert("邮件地址不正确");
if(count==1){
if(((strI)- (strE)<2)||((strI)==(-1))){
alert("邮件地址不正确");
return false;
}
}
if(count==2){
if((((strI)- (strE)<2)||((strI)- (strI)<2))||((strI)==(-1))){
alert("邮件地址不正确");
return false;
}
}
return true;
}
1.26 电话号码由数字和-组成
/************************************
电话号码由数字和-组成
************************************/
function phoneCheckH(controller,msg) {
var str=trim();
var reg = /^(/d+/-?)+$/; var count=0; if(!=0){
if((-1)=="-"||(0)=="-") count=1;
}
if(count==1){
alert(msg+'不能以"-"开始和结束');
return false;
}else{
if(!(str)){
alert(msg+'号码格式错误,只允许输入 0-9 的数字或者单个"-"!');
25
();
return false;
}
return true;
}
return true;
}
/************************************************
function: checkDateSeq
purpose: 检验输入的时间段,日期格式 yyyy-MM-dd
parameters : 起始日期控件名称,终止日期控件名称,formatter 输入日期的格 式
输入值为年,formatter 对应"y";
输入值为月,formatter 对应"ym"; 输入值为年月日,formatter 对应"ymd";
return value : TRUE / FALSE
*************************************************/
function checkDateSeq(qsrqController,zzrqController,formatter,message){
var qsrq=; var zzrq=; if(message==null) message="";
if (==0 && !=0){
return checkDate(zzrqController,formatter,message);
}
if (
==0
&& !=0){
return checkDate(qsrqController,formatter,message);
}
if (!=0 && !=0){
if (!checkDate(qsrqController,formatter,message))
return false;
if (!checkDate(zzrqController,formatter,message))
return false;
if (checkDate(qsrqController,formatter,message) &&
checkDate(zzrqController,formatter,message)){
if (format(qsrq)>format(zzrq)){
alert(message+"起始日期不能大于终止日期!");
return false;
}
}
}
return true;
}
//格式为 yyyymmdd
26
function format(str)
{
var yy="",mm="",dd="";
m=0;
j=0;
for (i=0;i<=;i++){ if((i)=="-" || i==){ m++;
if(m==1)
yy=(j,i);
if(m==2)
mm=(j,i);
if(m==3)
dd=(j,i);
j=i+1;
}
}
if (
mm!="")
mm=add0(mm); if (dd!="") dd=add0(dd);
date = yy + mm +dd;
return (date);
}
//数字检验
function isInt(str){
if(!=0){
for (i=0;i<;i++)
if ( (i)<'0' || (i)>'9')
return false;
}
return true;
}
//月日去 0
function trim0(str)
{
var i,j,result="";
j = ;
for (i=0;i<j;i++)
if ( (i)!='0' ) break;
result = (i,j);
return result;
}
//月日加 0
function add0(str)
{
var i,j,result="";
27
j = ;
if (j==1)
result = "0" + str;
else
result = str;
return result;
}
1.26 检验输入的日期 yyyy-MM-dd
/************************************************
function: checkDate
purpose: 检验输入的日期 yyyy-MM-dd
parameters : 日期控件名称,formatter 输入日期的格式 输入值为年,formatter 对应"y";
输入值为月,formatter 对应"ym"; 输入值为年月日,formatter 对应"ymd";
return value : TRUE / FALSE
*************************************************/
function checkDate(controller,formatter,message){
var str=trim(); if(message==null) message=""; = str;
m=0; j=0; k=0;
if (==0)
return true;
for(i=0;i<;i++){ if((i)=="-") k++;
}
if (formatter=="y"){
if (k!=0){
alert(message+"缺少月份和日期!!");
//();
return false;
}
}
if (
formatter=="ym"){
if (k!=1){
alert(message+"缺少日期部分!!");
//();
return false;
28
}
}
if (
formatter=="ymd"){
if (k!=2){
alert(message+"格式不正确,请按 YYYY-MM-DD 格式输入!");
//();
return false;
}
}
var yy="",mm="",dd="",temp; for (i=0;i<=;i++){ if((i)=="-" || i==){
m++;
if(m==1)
yy=(j,i);
if(m==2)
mm=(j,i);
if(m==3){ dd=(j,i); if(dd==""){
alert(message+"日期不能为零号!!")
//();
return false;
}
}
j=i+1;
}
}
if (==0)
{
alert(message+"年份不能为空!");
//();
return false;
}
if(!=4){
alert(message+"年份必须为四位数字!");
//();
return false;
}
if (formatter=="ym" || formatter=="ymd")
{
if(>2||==1){
alert(message+"月份必须为两位数字!如 01,10");
//();
return false;
29
}
}
if (
formatter=="ymd")
{
if(>2||==1){
alert(message+"日期必须为两位数字!如 01,10");
//();
return false;
}
}
yy=trim0(yy); mm=trim0(mm); dd=trim0(dd);
if(!isInt(yy)){
alert(message+"年份必须为数字!");
//();
return false;
}
if(parseInt(yy)<1900 || parseInt(yy)>9999 ||(yy=="")){
alert(message+"年份必须在 1900-9999 之间!!");
//();
return false;
}
if (formatter=="ym" || formatter=="ymd")
{
if(!isInt(mm)){
alert(message+"月份必须为数字!!");
//();
return false;
}
if(parseInt(mm)>12 || parseInt(mm)<1||(mm=="")){
alert(message+"月份必须在 1-12 之间!");
//();
return false;
}
}
if (formatter=="ymd")
{
if(!isInt(dd)){
alert(message+"日期必须为数字!!");
//();
return false;
30
}
if (dd=="")
{
alert(message+"日期不能为 0!");
//();
return false;
}
if((mm=="1" || mm=="3" || mm=="5" || mm=="7" || mm=="8" || mm=="10" ||
mm=="12") && parseInt(dd)>31){
alert(message+"该月最大为 31 天!");
//();
return false;
}
if(( mm=="4" || mm=="6" || mm=="9" || mm=="11") && parseInt(dd)>30){
alert(message+"该月最大为 30 天");
//();
return false;
}
if(mm=="2"){
// alert((parseInt(yy)%4));
if((parseInt(yy)%4)==0){
if(parseInt(dd)>29){
alert(message+"该月日期不能大于 29");
//();
return false;
}
}
else{
if(parseInt(dd)>28){
alert(message+"该月日期不能大于 28");
//();
return false;
}
}
}
}
return true;
}
function checkTwoDate(qsrqController,zzrqController,formatter){
var qsrq=;
var zzrq=;
if (==0 && !=0){
alert("请输入起始日期!");
//();
return false;
31
}
if (
==0
&& !=0){
alert("请输入终止日期!");
//();
return false;
}
if (!=0 && !=0){
if (!checkDate(qsrqController,formatter))
return false;
if (!checkDate(zzrqController,formatter))
return false;
if (checkDate(qsrqController,formatter) &&
checkDate(zzrqController,formatter)){
if (format(qsrq)>format(zzrq)){
//alert("起始日期不能大于终止日期!");
//();
return false;
}
}
}
return true;
}
//删除字符串两侧的空格
function trim(str)
{
str = this != window? this : str;
return (/^/s+/g, '').replace(//s+$/g, '');
}
//用下拉框显示月、日,日下拉框根据年月确定
function DaysInMonth(WhichMonth, WhichYear)
{
var DaysInMonth = 31;
if (WhichMonth == "04" || WhichMonth == "06" || WhichMonth == "09" || WhichMonth == "11") DaysInMonth = 30;
if (WhichMonth == "02" && (WhichYear/4) != (WhichYear/4)) DaysInMonth = 28;
if (WhichMonth == "02" && (WhichYear/4) == (WhichYear/4)) DaysInMonth = 29;
return DaysInMonth;
}
//function to change the available days in a months
//用于根据年月显示日期下拉框长度,供 dateTag 标签使用,不要删除
32
function ChangeOptionDays(yearObject,monthObject,daysObject){
year = trim();
if(monthObject==null || daysObject==null){//如果只有年份或只有日期
if (year=="")
{
alert("请先输入年份!");
();
return false;
}
if (
==0)
{
alert("年份不能为空!");
();
return false;
}
if(!=4){
alert("年份必须为四位数字!");
();
return false;
}
if(!isInt(year)){
alert("年份必须为数字!");
();
return false;
}
if(parseInt(year)<1900 || parseInt(year)>9999 ||(year=="")){
alert("年份必须在 1900-9999 之间!!");
();
return false;
}
}else{
month = monthObject[].text;
if (month!="")
{
if (year=="")
{
alert("请先输入年份!");
();
return false;
}
if (
==0)
{
alert("年份不能为空!");
();
return false;
}
33
if(!=4){
alert("年份必须为四位数字!");
();
return false;
}
if(!isInt(year)){
alert("年份必须为数字!");
();
return false;
}
if(parseInt(year)<1900 || parseInt(year)>9999 ||(year=="")){
alert("年份必须在 1900-9999 之间!!");
();
return false;
}
}
DaysForThisSelection = DaysInMonth(month, year); CurrentDaysInSelection = ;
if (CurrentDaysInSelection-1 > DaysForThisSelection)
{
for (i=0; i<(CurrentDaysInSelection-1-DaysForThisSelection); i++)
{
[ - 1] = null
}
}
if (DaysForThisSelection > CurrentDaysInSelection-1)
{
for (i=0; i<(DaysForThisSelection-CurrentDaysInSelection+1); i++)
{
NewOption = new
Option(,);
(NewOption);
}
}
if ( < 0) == 0;
}
return true;
}
1.27 去掉界面上开头的空格,过滤掉"'" 和"""
/********************************************************************
************
allTrim(): 去掉界面上开头的空格,过滤掉"'" 和"""
trim(str): 删除字符串两侧的空格
quoteFilter(controller): 过滤掉"'"和"""
34
setClear(): 清空查询条件
checkId(idcontroller,message) 身份证为 15 或 18 位数字或字母
checkUserIdAndPassword(idcontroller,pwcontroller): 操作员代码为 7 位数字,密 码最少为 4 位
checkDateSeq(qsrqController,zzrqController,formatter): 检验输入的时间段,日期 格式 yyyy-MM-dd
checkDate(controller,formatter): 检验输入日期 yyyy-MM-dd/YYYY-MM/YYYY
的完整性及合法性
checkTime(h,m): 时间校验,小时数在 0——23 之间,分钟数在 0——59 之间
checkEmail(controller): 检查 EMail 格式是否正确
isTel(controller): 电话号码校验(只能为下划线—、()、或数字)
checkLetter(controller,message): 所输内容应为字母
checkNotnull(controller,message): 所输内容不能非空 checkPrice(): 价格输入是否合法(99,999.00) checkDecimalAndUnknown(controller,message,befor,after):
检测价格格式是否正确(例如 99,999.00), 且小数点前后不能超过规定位数(由参数 befor,after 决定)
checkCNTxtLength(controller, message): 判断文本内容是否少于 2 个汉字/字符
(js 中汉字和字符占位一样)
getCNTxtLength(str): 得到字符串的长度,如果字符串中包含有中文/中文符号 的话,算作两个字符
checkNumOrLet(controller,message): 输入为字母或数字
checkNumberAndUnknown(controller,message): 输入为数字或不详,且数值不 能超过 5 位 32767
checkNumber(controller,message): 输入为数字
checkSmallintNumber(controller,message): 输入为短整型,数值不能超过 5 位
32767
checkIntNumber(controller,message): 输入为整型,数值不能超过 10 位
2147483647
checkNotZeroNumber(controller,message): 输入为非零数字,且数值不能超过
10 位 2147483647
checkDecimalNumber(controller,message,befor,after): 输入为 Decimal 格式的 数,且小数点前后都不能超过规定的位数
checkMayMinusNumber(controller,message): 可以为负数的数字
checkReportNumber(controller,message): 险情报告编号为四位年份加三位数字
checkDegree(degController,minController,decController,message): 检验度数控制值是否是数字,并且小于或等于 180; 检验分控制值是否是数字,并且小于 60;
检验小数控制值是否是数字
*********************************************************************
*************/
1.28 去掉界面上开头的空格,过滤掉"'" 和"""
/************************************
35
Method: allTrim()
purpose: 去掉界面上开头的空格,过滤掉"'" 和"""
************************************/
function allTrim(){
divColl = ("input");
for (i=0; i<; i++) {
whichEl = divColl(i);
= trim();
quoteFilter(whichEl);
}
}
function trim(str)
{
str = this != window? this : str;
return (/^/s+/g, '').replace(//s+$/g, '');
}
1.29 去掉汉字间空格
/************************************ Method: quoteFilter1(controller)
purpose: 去掉汉字间空格
************************************/
function quoteFilter1(controller){ var value=; var c = "0";
if (!=0){
for (var i=0;i<;i++)
{
if ((i)>="a"&& (i)<="Z"){
c = "2";
}
}
if(c == "0"){
for(var i = 0;i <;i++){
pos1 = (" ");
if(pos1>-1) {
value = (0,pos1) +
(pos1+1,);
}
= value;
= this != window? this : ;
value = (/^/s+/g, '').replace(//s+$/g, '');
}
return value;
}else{
36
return ;
}
}
}
1.30 大小写转换
/************************************ Method: convert(str)
purpose: 大小写转换
parameters : 控件名称
************************************/
function convert(str){
if(!=0){
var a = (0,1).toUpperCase();
pos1 = (" ");
if(pos1>-1)
{
var m =(1,pos1+1);
var b = (pos1+1,pos1+2).toUpperCase();
var e = (pos1+2,);
}
str = a+m+b+e;
return str;
}
}
1.31 过滤掉"'"和"""
/************************************ Method: quoteFilter()
purpose: 过滤掉"'"和"""
parameters : 控件名称
************************************/
function quoteFilter(controller){
var value=;
if (!=0)
{
pos1 = ("'"); pos2 = ('"'); if(pos1>-1 || pos2>-1)
{
if(pos1>-1)
{
37
value = (0,pos1) +
(pos1+1,);
}
if(pos2>-1)
{
value = (0,pos2) +
(pos2+1,);
} = value; quoteFilter(controller);
}
}
}
1.32 清空查询条件
/************************************ Method: setClear()
purpose: 清空查询条件
parameters: num 页面上的控件个数
************************************/
function setClear(){
divColl = ("input");
for (i=0; i<; i++) {
whichEl = divColl(i);
if ( != "清空" && != "删除"
&& != "测试")
{
= "";
}
}
divColl = ("select");
for (i=0; i<; i++) { whichEl = divColl(i); [0].selected = true;
}
}
1.33 过滤掉"'"和"""和空格
/************************************ Method: quoteFilter(controller)
purpose: 过滤掉"'"和"""和空格
parameters : 控件名称
38
************************************/
function quoteFilter(controller){ =("'",""); =('"',"");
= (/^/s+/g, '').replace(//s+$/g, '');
}
1.34 操作员代码为 7 位数字,密码最少为 4 位
/************************************
Method: checkUserIdAndPassword(idcontroller,pwcontroller)
purpose: 操作员代码为 7 位数字,密码最少为 4 位
parameters : 代码控件名称,密码控件名称
return value : true/false.
************************************/
function checkUserIdAndPassword(idcontroller,pwcontroller){
var idvalue=trim();
var pwvalue=trim();
if (==0)
{
alert("操作员代码不能为空!");
();
return(false);
}
if (==0)
{
alert("操作员密码不能为空!");
();
return(false);
}
return true;
}
1.35 身份证为 15 或 18 位数字或字母
/************************************ Method: checkId(idcontroller)
purpose: 身份证为 15 或 18 位数字或字母
parameters : 控件名称 提示信息
return value : true/false.
************************************/
function checkId(idcontroller,message){
var idvalue=trim();
for (var i=0;i<;i++)
39
{
if ((!((i)>="0" && (i)<="9"))
&&(!((i)>="a"&& (i)<="z"))
&&(!((i)>="A"&& (i)<="Z")))
{
alert(message + "为字母或数字");
();
return(false);
}
}
if (!=15 && !=18)
{
alert("身份证号码只能为 15 位或 18 位!");
();
return(false);
}
return true;
}
1.36 检验输入的时间段,日期格式 yyyy-MM-dd
/************************************************
function: checkDateSeq(qsrqController,zzrqController,formatter)
purpose: 检验输入的时间段,日期格式 yyyy-MM-dd
parameters : qsrqController 起始日期控件名称,zzrqController 终止日期控件名 称,
formatter 输入日期的格式
输入值为年,formatter 对应"y"; 输入值为年月,formatter 对应"ym"; 输入值为年月日,formatter 对应"ymd";
return value : TRUE / FALSE
*************************************************/ function checkDateSeq(qsrqController,zzrqController,formatter){ var qsrq=;
var zzrq=;
if (==0 && !=0){
alert("请输入起始日期!");
();
return false;
}
if (
==0
&& !=0){
alert("请输入终止日期!");
();
40
return false;
}
if (!=0 && !=0){
if (!checkDate(qsrqController,formatter)){
return false;
}
if (!checkDate(zzrqController,formatter)){
return false;
}
if (checkDate(qsrqController,formatter) && checkDate(zzrqController,formatter)){
if (format(qsrq)>format(zzrq)){
alert("起始日期不能大于终止日期!");
();
return false;
}
}
}
return true;
}
//格式为 yyyymmdd function format(str)
{
var yy="",mm="",dd="";
m=0;
j=0;
for (i=0;i<=;i++){ if((i)=="-" || i==){ m++;
if(m==1)
yy=(j,i);
if(m==2)
mm=(j,i);
if(m==3)
dd=(j,i);
j=i+1;
}
}
if (yy!="")
{
yy=add0(yy);
}
if (mm!="")
mm=add0(mm);
if (dd!="")
41
dd=add0(dd);
date = yy + mm +dd;
return (date);
}
//数字检验
function isInt(str){
if(!=0){
for (i=0;i<;i++)
if ( (i)<'0' || (i)>'9')
return false;
}
return true;
}
//月日去 0
function trim0(str)
{
var i,j,result="";
j = ;
for (i=0;i<j;i++)
if ( (i)!='0' ) break;
result = (i,j);
return result;
}
//月日加 0
function add0(str)
{
var i,j,result="";
j = ;
if (j==1)
result = "0" + str;
else
result = str;
return result;
}
1.37 检验输入的时间段,日期格式 yyyy-MM-dd
/************************************************
function: checkDate(controller,formatter)
purpose: 检验输入的日期 yyyy-MM-dd
parameters : 日期控件名称,formatter 输入日期的格式 输入值为年,formatter 对应"y"; 输入值为月,formatter 对应"ym";
输入值为年月日,formatter 对应"ymd";
return value : TRUE / FALSE
*************************************************/
42
function checkDate(controller,formatter){ var str=trim(); = str;
m=0; j=0; k=0;
if (==0)
return true;
for(i=0;i<;i++){ if((i)=="-") k++;
}
if (formatter=="y"){
if (k!=0){
alert("只输入年份!!");
();
return false;
}
}
if (
formatter=="ym"){
if (k!=1){
alert("输入年、月!!");
();
return false;
}
}
if (
formatter=="ymd"){
if (k!=2){
alert("输入年、月、日!!");
();
return false;
}
}
var yy="",mm="",dd="",temp; for (i=0;i<=;i++){ if((i)=="-" || i==){
m++;
if(m==1)
yy=(j,i);
if(m==2)
mm=(j,i);
if(m==3){ dd=(j,i); if(dd==""){
alert("日期不能为零号!!")
();
43
return false;
}
}
j=i+1;
}
}
if (==0)
{
alert("年份不能为空!");
();
return false;
}
if(!=4){
alert("年份必须为四位数字!");
();
return false;
}
if (formatter=="ym" || formatter=="ymd")
{
if(>2){
alert("月份必须为一位或两位数字!");
();
return false;
}
}
if (
formatter=="ymd")
{
if(>2){
alert("日期必须为一位或两位数字!");
();
return false;
}
}
yy=trim0(yy); mm=trim0(mm); dd=trim0(dd);
if(!isInt(yy)){
alert("年份必须为数字!");
();
return false;
}
if(parseInt(yy)<1900 || parseInt(yy)>2079 ||(yy=="")){
alert("年份必须在 1900-2079 之间!!");
();
return false;
}
44
if (formatter=="ym" || formatter=="ymd")
{
if(!isInt(mm)){
alert("月份必须为数字!!");
();
return false;
}
if(parseInt(mm)>12 || parseInt(mm)<1||(mm=="")){
alert("月份必须在 1-12 之间!!!");
();
return false;
}
}
if (formatter=="ymd")
{
if(!isInt(dd)){
alert("日期必须为数字!!");
();
return false;
}
if (dd=="")
{
alert("日期不能为 0!");
();
return false;
}
if((mm=="1" || mm=="3" || mm=="5" || mm=="7" || mm=="8" || mm=="10" ||
mm=="12") && parseInt(dd)>31){
alert("该月最大为 31 天!!!");
();
return false;
}
if(( mm=="4" || mm=="6" || mm=="9" || mm=="11") && parseInt(dd)>30){
alert("该月最大为 30 天");
();
return false;
}
if(mm=="2"){
// alert((parseInt(yy)%4));
if((parseInt(yy)%4)==0){
if(parseInt(dd)>29){
alert("二月日期不能大于 29");
();
return false;
}
}
45
else{
if(parseInt(dd)>28){
alert("二月日期不能大于 28");
();
return false;
}
}
}
}
return true;
}
function trim(str)
{
str = this != window? this : str;
return (/^/s+/g, '').replace(//s+$/g, '');
}
function checkTwoDate(qsrqController,zzrqController,formatter){
var qsrq=;
var zzrq=;
if (==0 && !=0){
alert("请输入起始日期!");
//();
return false;
}
if (
==0
&& !=0){
alert("请输入终止日期!");
//();
return false;
}
if (!=0 && !=0){
if (!checkDate(qsrqController,formatter))
return false;
if (!checkDate(zzrqController,formatter))
return false;
if (checkDate(qsrqController,formatter) &&
checkDate(zzrqController,formatter)){
if (format(qsrq)>format(zzrq)){
alert("起始日期不能大于终止日期!");
//();
return false;
}
}
}
46
return true;
}
//删除字符串两侧的空格
function trim(str)
{
str = this != window? this : str;
return (/^/s+/g, '').replace(//s+$/g, '');
}
1.38 时间校验,小时数在 0——23 之间,分钟数在 0——59 之间
/******************************* Method: checkTime(h,m)
Purpose: 时间校验,小时数在 0——23 之间,分钟数在 0——59 之间
Parameters: 控件名称,控件名称
return value: true/false
*******************************/
function checkTime(h,m)
{
hh = ;
mm = ;
//ss = (s).value;
tt = "" + hh + mm;
if(hh == "")
{
}
else
{
return true;
tlength = ;
bb=true;
for(i = 0;i<=length;i++)
{
if((i,i+1)>=0 && (i,i+1)<=9)
{
}
if(bb)
{
}
else
{
}
bb = true;
alert("输入的时间必须为数字!");
();
return false;
if( hh*1 >= 0 && hh*1 <= 23)
{
if( mm*1 >= 0 && mm*1 <= 59)
47
{
/*if( ss*1 >= 0 && ss*1 <= 59)
{
间!");
}
else
{
}*/
return true;
alert("输入的时间秒数必须在 0-59 之
return false;
}
else
{
}
else
{
}
return true;
alert("输入的时间分钟数必须在 0-59 之间!");
();
return false;
}
}
else
{
alert("输入的时间小时数必须在 0-23 之间!");
();
return false;
();
return false;
}
}
}
1.39 检查 EMail 格式是否正确
/************************************ Method: checkEmail(controller)
purpose: 检查 EMail 格式是否正确
parameters : 控件名称
return value : true/false.
************************************/
function checkEmail(controller)
{
var strEMail=;
48
var strE="@"; var strI="."; var iPos;
var iLen; var iT=0; var strT="";
if (!=0){ strT=strEMail; do
{
iPos=(strE);
iLen=;
if (iPos== -1)
{
if(iT==0)
{ alert("邮件地址不正确");
return false;
}
else
{
}
else
{
}
break;
if ((iPos==0)||(iPos==(iLen -1)))
{ alert("邮件地址不正确");
return false;
}
else
{
}
iT++;
}
}
strT=(iPos+1);
while(strT !="")
if (iT !=1)
{ alert("邮件地址不正确");
return false;
}
strT=(iPos+1,1);
if (strT==".")
{ alert("邮件地址不正确");
return false;
}
iT=0;
iPos=(strE);
49
strT=(iPos+1);
do
{
iPos=(strI);
iLen=;
if (iPos== -1)
{
}
else
{
break;
if((iPos==0)||(iPos==(iLen -1)))
{ alert("邮件地址不正确");
return false;
}
else
{
}
iT++;
}
}
strT=(iPos+1);
while(strT !="")
iPos=(strE); strT=(0,iPos); iPos=(strI);
if(iPos != -1)
{ alert("邮件地址不正确");
return false;
}
}
return true;
}
1.40 电话号码校验(只能为下划线—、()、或数字)
/************************************ Method: isTel(controller)
purpose: 电话号码校验(只能为下划线—、()、或数字)
测试页面:
************************************/
function isTel(controller){
var tel=;
var validchars = "-()1234567890 ";
for (i=0;i<;i++){
telchar=(i);
if ((telchar, 0) == -1){
alert("请输入正确的电话号码格式!");
50
();
return false;
}
}
return true;
}
1.41 所输内容应为字母
/************************************
Method: checkLetter(controller,message)
purpose: 所输内容应为字母
parameters : 控件名称,提示信息
return value : true/false.
测试页面:
************************************/
function checkLetter(controller,message){
var value=;
if (!=0){
for (var i=0;i<;i++){
if((!((i)>="a" && (i)<="z")) && (!((i)<="Z" && (i)>="A"))){
alert(message+"为 A-Z 或 a-z 的字母");
();
return(false);
}
}
}
//upValue = ();
// = upValue;
return true;
}
1.41 所输内容不能非空
/************************************
Method: checkNotnull(controller,message)
purpose: 所输内容不能非空
parameters : 控件名称,提示信息
return value : true/false.
测试页面:
************************************/
function checkNotnull(controller,message){
var value=trim();
if (==0){
51
alert(message+"不能为空!")
();
return false;
}
return true;
}
1.42 价格输入是否合法(99,999.00)
/************************************ Method: checkPrice()
purpose: 价格输入是否合法(99,999.00)
parameters : 控件名称,提示信息
return value : true/false.
测试页面:
************************************/
function checkPrice(controller,message){
var value=;
var m=0;
if (!=0){
for (var i=0;i<;i++){
if (((i)>"9" || (i)<"0") &&
(i)!="." && (i)!=",") {
alert(message + "用小数或整数表示!");
();
return(false);
}
if ((i)==".")
{
m++;
}
}
if (m>1)
{
alert(message + "至多有一个小数点!");
();
return(false);
}
}
return true;
}
52
1.43 价格输入是否合法(99,999.00)
/************************************
Method: checkDecimalAndUnknown(controller,message,befor,after) purpose: 价格输入是否合法(99,999.00)过规定位数(由参数 befor,after 决定)
parameters : 控件名称,提示信息,小数点前面的位数,小数点后面的位数
return value : true/false.
测试页面:
************************************/
function checkDecimalAndUnknown(controller,message,befor,after){
var value=;
if(value == '不详'){
return true;
}
if (
!=0){
for (var i=0;i<;i++){
if (((i)>"9" || (i)<"0") &&
(i)!="." && (i)!=",") {
alert(message + "用小数或整数或不详表示!");
();
return(false);
}
}
}
var pos = (".");//小数点位置
if(pos > -1){
if(pos > befor){
alert("小数点前边位数不能超过"+befor+"位!");
();
return false;
}
if(-pos -
1
>
after){
alert("小数点后边位数不能超过"+after+"位!");
();
return false;
}
}
else{
if(>befor){
alert("整数位数不能超过"+befor+"位!");
();
return false;
}
}
return true;
53
1.44 判断文本内容是否少于 2 个汉字/字符(js 中汉字和字符占位一样)
/*******************************
Method: checkCNTxtLength(controller, message)
Purpose: 判断文本内容是否少于 2 个汉字/字符(js 中汉字和字符占位一
样)
Parameters: 控件名称,提示信息
return value: true/false
*******************************/
function checkCNTxtLength(controller, message) {
var text = ;
if ( != 0){
if( < 2) {
alert("查询条件“" + message + "”请尽量不要少于 2
个汉字!");
}
();
return false;
}
return true;
}
/******************************** Method: getCNTxtLength(str)
Purpose: 得到字符串的长度,如果字符串中包含有中文/中文符号的话,
算作两个字符
Parameters: 字符串
return value: 字符串的长度
********************************/
function getCNTxtLength(str){
var len; var i; len = 0;
for (i=0;i<;i++){
if ((i)>255) len+=2; else len++;
}
return len;
}
1.45 检测输入是否只有字母或数字
/************************************
Method: checkNumOrLet(controller,message)
purpose: 检测输入是否只有字母或数字
54
parameters : 控件名称,提示信息
return value : true/false.
* author by sun_cmei
************************************/
function checkNumOrLet(controller,message)
{
var value=;
if (!=0)
{
for (var i=0;i<;i++)
{
if ((!((i)>="0" && (i)<="9"))
&&(!((i)>="a"&&(i)<="z"))
&&(!((i)>="A"&&(i)<="Z")))
{
alert(message + "为字母或数字");
();
return(false);
}
}
}
return true;
}
1.46 检测输入是否只有数字或不详,且输入数值不能过大(不能超过 32767)
/************************************
Method: checkNumberAndUnknown(controller,message)
purpose: 检测输入是否只有数字或不详,且输入数值不能过大(不能超过
32767)
parameters : 控件名称,提示信息
return value : true/false.
测试页面:
************************************/
function checkNumberAndUnknown(controller,message)
{
var value=;
var count=0;
if(value == '不详'){
return true;
}
if (
!=0)
{
for (var i=0;i<;i++)
{
if ((i)>"9" || (i)<"0")
55
{
alert(message + "为不详或 0-9 的数字");
();
return(false);
}
}
if ( > 5 )
{
alert("数字太大,请检查!");
();
return false;
}
else if (
== 5)
{
if (value > "32767")
{
alert("数字太大,请检查!");
();
return false;
}
}
}
return true;
}
1.47 检测输入是否为数字
/************************************
Method: checkNumber(controller,message)
purpose: 检测输入是否为数字
parameters : 控件名称,提示信息
return value : true/false.
测试页面:
************************************/
function checkNumber(controller,message)
{
var value=;
var count=0;
if (!=0)
{
for (var i=0;i<;i++)
{
if ((i)>"9" || (i)<"0")
{
alert(message + "为 0-9 的数字");
();
return(false);
56
}
}
/*if ( > 10 )
{
alert("数字太大,请检查!");
();
return false;
}
else if (
== 10)
{
if (value > "2147483647")
{
alert("数字太大,请检查!");
();
return false;
}
}*/
}
return true;
}
1.48 监测输入是否为数字,且所输入数值不能过大(不能超过 5 位 32767)
/************************************
Method: checkSmallintNumber(controller,message)
purpose: 监测输入是否为数字,且所输入数值不能过大(不能超过 5 位
32767)
parameters : 控件名称,提示信息
return value : true/false.
************************************/
function checkSmallintNumber(controller,message)
{
var value=;
var count=0;
if (!=0)
{
for (var i=0;i<;i++)
{
if ((i)>"9" || (i)<"0")
{
alert(message + "为 0-9 的数字");
();
return(false);
}
}
if ( > 5 )
{
57
alert(message + "的数字太大,请检查!");
();
return false;
}
else if (
== 5)
{
if (value > "32767")
{
alert(message + "的数字太大,请检查!");
();
return false;
}
}
}
return true;
}
1.49 检测输入是否为整形数字,且所输数值不能过大(不能超过 10 位
2147483647)
/************************************
Method: checkIntNumber(controller,message)
purpose: 检测输入是否为整形数字,且所输数值不能过大(不能超过 10
位 2147483647)
parameters : 控件名称,提示信息
return value : true/false.
************************************/
function checkIntNumber(controller,message)
{
var value=;
var count=0;
if (!=0)
{
for (var i=0;i<;i++)
{
if ((i)>"9" || (i)<"0")
{
alert(message + "为 0-9 的数字");
();
return(false);
}
}
if ( > 10 )
{
alert(message + "的数字太大,请检查!");
();
58
return false;
}
else if (
== 10)
{
if (value > "2147483647")
{
alert(message + "的数字太大,请检查!");
();
return false;
}
}
}
return true;
}
1.51 检测输入是否为非零数字,且输入数字不能太大(不能超过 10 位
2147483647)
/************************************
Method: checkNotZeroNumber(controller,message)
purpose: 检测输入是否为非零数字,且输入数字不能太大(不能超过 10 位
2147483647)
parameters : 控件名称,提示信息
return value : true/false.
************************************/
function checkNotZeroNumber(controller,message)
{
var value=;
var count=0;
if (!=0)
{
for (var i=0;i<;i++)
{
if ((i)>"9" || (i)<"0")
{
alert(message + "为 0-9 的数字");
();
return(false);
}
}
if ( > 10 )
{
alert(message + "的数字太大,请检查!");
();
return false;
}
else if (
== 10)
{
if (value > "2147483647")
{
59
alert(message +"的数字太大,请检查!");
();
return false;
}
}
if (
parseInt(value,10)==0)
{
alert(message+"不能等于零");
();
return(false);
}
}
return true;
}
1.52 输入为 Decimal 格式的数,且小数点前后都不能超过规定的位数
/************************************
Method: checkDecimalNumber(controller,message,befor,after) purpose: 输入为 Decimal 格式的数,且小数点前后都不能超过规定的位数 parameters : 控件名称,提示信息,小数点前面的最大位数,小数点后面的最 大位数
return value : true/false.
************************************/
function checkDecimalNumber(controller,message,befor,after){
var value=;
if (!=0){
for (var i=0;i<;i++){
if (((i)>"9" || (i)<"0") &&
(i)!="." && (i)!=",") {
alert(message + "用小数或整数表示!");
();
return(false);
}
}
}
var pos = (".");//小数点位置
if(pos > -1){
if(pos > befor){
alert(message + "的小数点前边位数不能超过"+befor+"位!");
();
return false;
}
if(-pos -
1
>
after){
alert(message + "的小数点后边位数不能超过"+after+"位!");
();
return false;
60
}
}
else{
if(>befor){
alert(message + "的整数位数不能超过"+befor+"位!");
();
return false;
}
}
return true;
}
1.53 可以为负数的数字,数值不能超过 5 位 32767
/************************************
Method: checkMayMinusNumber(controller,message) purpose: 可以为负数的数字,数值不能超过 5 位 32767 parameters : 控件名称,提示信息
return value : true/false.
************************************/
function checkMayMinusNumberAndUnknown(controller,message)
{
var value=;
var count=0;
if (!=0)
{
if(value == '不详'){
return true;
}
for (var i=0;i<;i++)
{
if(i == 0 && (0) == "-")//第一位为负号,通过
continue;
if(i == 0 && (0) == "-"){
= ("-","-");
continue;
{
}
if (((i)>"9" || (i)<"0"))
alert(message + "为 0-9 的数字");
();
return(false);
}
}
if((0) != "-")
{
61
if ( > 5 )
{
alert("数字太大,请检查!");
();
return false;
}
else if (
== 5)
{
if (value > "32767")
{
alert("数字太大,请检查!");
();
return false;
}
}
}
else
{
if ( > 6 )
{
alert("数字太大,请检查!");
();
return false;
}
else if (
== 6)
{
if (value > "-32767")
{
alert("数字太大,请检查!");
();
return false;
}
}
}
}
return true;
}
1.54 险情报告编号为四位年份加三位数字
/************************************
Method: checkReportNumber(controller,message) purpose: 险情报告编号为四位年份加三位数字 parameters : 控件名称,提示信息
return value : true/false.
测试页面:
62
************************************/
function checkReportNumber(controller,message)
{
var value=;
var count=0;
if (!=0){
//检测输入是否为是 7 位
if( != 7){
alert(message + "为四位年份加三位数字");
();
return(false);
}
//检测所输 7 位是否全为数字
for (var i=0;i<;i++){
if ((i)>"9" || (i)<"0"){
alert(message + "为四位年份加三位数字");
();
return(false);
}
}
//前四位是有效年
var year = (0,4);
if(parseInt(year)<1900 || parseInt(year)>9999){
alert(message+"前四位年份必须在 1900-9999 之间!!");
();
return(false);
}
}
return true;
}
1.55 检验度数控制值是否是数字,并且小于或等于 180;
/************************************
Method:
checkDegree(degController,minController,decController,message)
purpose: 检验度数控制值是否是数字,并且小于或等于 180;
检验分控制值是否是数字,并且小于 60; 检验小数控制值是否是数字
parameters :degController-度数控件名称
minController-分控件名称
decController-小数控件名称
message-提示消息
测试页面:
************************************/
63
function checkDegree(degController,minController,decController,message){
if(!checkNumber(degController,message+"度数")
|| !checkNumber(minController,message+"分")
|| !checkNumber(decController,message+"小数")){
return false;
}
if(>180){
alert("度数不能大于 180!");
();
return false;
}
if(>60){
alert("分数不能大于 60!");
();
return false;
}
return true;
}
1.56 删除字符串两侧的空格,返回的是删除两侧空格的字符串
/**
*删除字符串两侧的空格,返回的是删除两侧空格的字符串
* @param str 待处理的字符串
*/
function trim(str){
if(str==null||str=="") return "";
return (/^/s+/g, '').replace(//s+$/g, '');
};

START 键盘码判断

/**
* 判断是否数字键
* @param keyCode 输入的键值
*/
function isNumber(keyCode){
alert(keyCode);
if (((keyCode >= 48 && keyCode <= 57 )&& == false)
||(keyCode >= 96 && keyCode <= 105 ))
return true;
return false;
}
/**
* 判断是否为光标移动处理
64
* @param keyCode 输入的键值
*/
function isCursorCtrl(keyCode){ if(keyCode >= 33 && keyCode <= 40 ) return true;
return false;
}
/**
* 判断是否为+号
* @param keyCode 输入的键值
*/
function isPlusSign(keyCode){ if(keyCode==187||keyCode==107) return true;
return false;
}
/**
* 判断是否为-号
* @param keyCode 输入的键值
*/
function isSubtractionSign(keyCode){ if(keyCode == 109||keyCode == 189) return true;
return false;
}
/**
* 判断是否为.号
* @param keyCode 输入的键值
*/
function isDotSign(keyCode){ if(keyCode==110 ||keyCode==190) return true;
return false;
}
/**
* 判断是否为 Tab 键
* @param keyCode 输入的键值
*/
function isTab(keyCode){
if(keyCode==9) return true; return false;
}
/**
* 判断是否为回车键
* @param keyCode 输入的键值
*/
function isEnter(keyCode){
65
if(keyCode==13)
return true;
return false;
}
/**
* 判断是否为退格键
* @param keyCode 输入的键值
*/
function isBackspace(keyCode){
if(keyCode==8) return true; return false;
}
/**
* 判断是否为删除键
*/
function isDelete(keyCode){
if(keyCode==46)
return true;
return false;
}
//结束键盘输入判断
/**
* 把回车键转换为 Tab 键
*/
function enterToTab() {
if(==13)
=9;
}
/**
* 是否为全数字字符串
*/
function isDigitStr(s){
var patrn=/^[0-9]/;
if (!(s)) return false;
return true;
};
1.57 打开模式窗口,窗口居中
/**
* 打开模式窗口,窗口居中
* param:sURL
* param:obj 参数对象,用来向弹出窗口传递参数,其至少包含一个
值:isLogin,标识用户是否已经登录,session 是否已经过期。
66
* param:sStyle 窗口宽度、高度等属性字符串
*/
function openModalDialog(sUrl,obj,sStyle){
if (sStyle=="") sStyle = "scrollbars:no;dialogWidth:280;dialogHeight:100;status:no;center:yes;resizable:no";
if(obj==null) obj = new Object();
=true; //首先将是否登录标志置为 true
sUrl = ("?","%3f"); sUrl = ("&","%26"); sUrl = ("=","%3d");
var prefix = (0,1);
if(prefix == ""){
sUrl = "/"+sUrl;
}
var sValue =
showModalDialog(CONTEXT_ROOT+"/js/?url="+sUrl,obj,"");
//窗口执行完毕后根据弹出窗口返回的 obj 中 isLogin 属性来判断用户是 否已经登录,如果没有登录则定向到登录界面
//if(!){
// = CONTEXT_ROOT+"/";
//}
return sValue;
}
1.58 打开普通的窗口/**
*打开普通的窗口
* param:url
* param:winName,打开窗口的名称,默认为""
* param: sStyle,打开窗口的显示属性,默认为最大化,无工具栏、无地
址栏
*/
function openWindow(sUrl, winName, sStyle){
if(sUrl==""){
alert(sUrl+"不能为空!");
return false;
}else if((0,1)!="/"){
sUrl = "/"+sUrl;
}
if(sStyle==""){
sStyle="location=no,scrollbars=yes,menubar=no,resizable=yes,top=0,left=0,to olbar=no,height="++",width="+;
}
67
sUrl = CONTEXT_ROOT+sUrl;
(sUrl,winName, sStyle);
}
1.59 检验输入的时间段,日期格式 yyyy-MM-dd
/************************************************
function: checkDateSeq
purpose: 检验输入的时间段,日期格式 yyyy-MM-dd
parameters : 起始日期控件名称,终止日期控件名称,formatter 输入日期的格 式
输入值为年,formatter 对应"y";
输入值为月,formatter 对应"ym"; 输入值为年月日,formatter 对应"ymd";
return value : TRUE / FALSE
*************************************************/
function checkDateSeq(qsrqController,zzrqController,formatter,message){
var qsrq=; var zzrq=; if(message==null) message="";
if (==0 && !=0){
if(checkDate(zzrqController,formatter,message)){
return true;
}
else{
}
}
();
return false;
if (==0 && !=0){
if(checkDate(qsrqController,formatter,message)){
return true;
}
else{
}
}
();
return false;
if (!=0 && !=0){
if (!checkDate(qsrqController,formatter,message)){
return false;
}
if (!checkDate(zzrqController,formatter,message)){
return false;
}
68
if (checkDate(qsrqController,formatter,message) &&
checkDate(zzrqController,formatter,message)){
if (format(qsrq)>format(zzrq)){
if(message!=""){
alert(message);
}else{
}
alert(message+"起始日期不能大于终止日期!");
();
return false;
}
}
}
return true;
}
//格式为 yyyymmdd function format(str)
{
var yy="",mm="",dd="";
m=0;
j=0;
for (i=0;i<=;i++){ if((i)=="-" || i==){ m++;
if(m==1)
yy=(j,i);
if(m==2)
mm=(j,i);
if(m==3)
dd=(j,i);
j=i+1;
}
}
if (mm!="")
mm=add0(mm); if (dd!="") dd=add0(dd);
date = yy + mm +dd;
return (date);
}
//数字检验
function isInt(str){
if(!=0){
69
for (i=0;i<;i++)
if ( (i)<'0' || (i)>'9')
return false;
}
return true;
}
//月日去 0
function trim0(str)
{
var i,j,result="";
j = ;
for (i=0;i<j;i++)
if ( (i)!='0' ) break;
result = (i,j);
return result;
}
//月日加 0
function add0(str)
{
var i,j,result="";
j = ;
if (j==1)
result = "0" + str;
else
result = str;
return result;
}
1.60 检验输入的日期 yyyy-MM-dd
/************************************************
function: checkDate
purpose: 检验输入的日期 yyyy-MM-dd
parameters : 日期控件名称,formatter 输入日期的格式 输入值为年,formatter 对应"y";
输入值为月,formatter 对应"ym";
输入值为年月日,formatter 对应"ymd";
return value : TRUE / FALSE
*************************************************/
function checkDate(controller,formatter,message){
var str=trim(); if(message==null) message=""; = str;
m=0; j=0; k=0;
70
if (==0){
alert(message+"日期不能为空!");
();
return false;
}
for(i=0;i<;i++){ if((i)=="-") k++;
}
if (formatter=="y"){
if (k!=0){
alert(message+"缺少月份和日期!");
();
return false;
}
}
if (
formatter=="ym"){
if (k!=1){
alert(message+"缺少日期部分!");
();
return false;
}
}
if (
formatter=="ymd"){
if (k!=2){
alert(message+"格式不正确,请按 YYYY-MM-DD 格式输入!");
();
return false;
}
}
var yy="",mm="",dd="",temp; for (i=0;i<=;i++){ if((i)=="-" || i==){
m++;
if(m==1)
yy=(j,i);
if(m==2)
mm=(j,i);
if(m==3){ dd=(j,i); if(dd==""){
alert(message+"日期不能为零号!")
();
return false;
}
}
71
j=i+1;
}
}
if (==0)
{
alert(message+"年份不能为空!");
();
return false;
}
if(!=4){
alert(message+"年份必须为四位数字!");
();
return false;
}
if (formatter=="ym" || formatter=="ymd")
{
if(>2||==1){
alert(message+"月份必须为两位数字!如 01,10");
();
return false;
}
}
if (
formatter=="ymd")
{
if(>2||==1){
alert(message+"日期必须为两位数字!如 01,10");
();
return false;
}
}
yy=trim0(yy); mm=trim0(mm); dd=trim0(dd);
if(!isInt(yy)){
alert(message+"年份必须为数字!");
();
return false;
}
if(parseInt(yy)<1900 || parseInt(yy)>9999 ||(yy=="")){
alert(message+"年份必须在 1900-9999 之间!");
();
return false;
}
if (formatter=="ym" || formatter=="ymd")
{
72
if(!isInt(mm)){
alert(message+"月份必须为数字!");
();
return false;
}
if(parseInt(mm)>12 || parseInt(mm)<1||(mm=="")){
alert(message+"月份必须在 1-12 之间!");
();
return false;
}
}
if (formatter=="ymd")
{
if(!isInt(dd)){
alert(message+"日期必须为数字!");
();
return false;
}
if (dd=="")
{
alert(message+"日期不能为 0!");
();
return false;
}
if((mm=="1" || mm=="3" || mm=="5" || mm=="7" || mm=="8" || mm=="10" ||
mm=="12") && parseInt(dd)>31){
alert(message+"该月最大为 31 天!");
();
return false;
}
if(( mm=="4" || mm=="6" || mm=="9" || mm=="11") && parseInt(dd)>30){
alert(message+"该月最大为 30 天!");
();
return false;
}
if(mm=="2"){
// alert((parseInt(yy)%4));
if((parseInt(yy)%4)==0){
if(parseInt(dd)>29){
alert(message+"该月日期不能大于 29!");
();
return false;
}
}
else{
73
if(parseInt(dd)>28){
alert(message+"该月日期不能大于 28!");
();
return false;
}
}
}
}
return true;
}
1.61 用下拉框显示月、日,日下拉框根据年月确定
//用下拉框显示月、日,日下拉框根据年月确定
function DaysInMonth(WhichMonth, WhichYear)
{
var DaysInMonth = 31;
if (WhichMonth == "04" || WhichMonth == "06" || WhichMonth == "09" || WhichMonth == "11") DaysInMonth = 30;
if (WhichMonth == "02" && (WhichYear/4) != (WhichYear/4)) DaysInMonth = 28;
if (WhichMonth == "02" && (WhichYear/4) == (WhichYear/4)) DaysInMonth = 29;
return DaysInMonth;
}
//function to change the available days in a months
//用于根据年月显示日期下拉框长度,供 dateTag 标签使用,不要删除
function ChangeOptionDays(yearObject,monthObject,daysObject){
year = trim();
if(monthObject==null || daysObject==null){//如果只有年份或只有日期
if (year=="")
{
alert("请先输入年份!");
();
return false;
}
if (
==0)
{
alert("年份不能为空!");
();
return false;
}
if(!=4){
alert("年份必须为四位数字!");
74
();
return false;
}
if(!isInt(year)){
alert("年份必须为数字!");
();
return false;
}
if(parseInt(year)<1900 || parseInt(year)>9999 ||(year=="")){
alert("年份必须在 1900-9999 之间!");
();
return false;
}
}else{
month = monthObject[].text;
if (month!="")
{
if (year=="")
{
alert("请先输入年份!");
();
return false;
}
if (
==0)
{
alert("年份不能为空!");
();
return false;
}
if(!=4){
alert("年份必须为四位数字!");
();
return false;
}
if(!isInt(year)){
alert("年份必须为数字!");
();
return false;
}
if(parseInt(year)<1900 || parseInt(year)>9999 ||(year=="")){
alert("年份必须在 1900-9999 之间!");
();
return false;
}
}
DaysForThisSelection = DaysInMonth(month, year);
75
CurrentDaysInSelection = ;
if (CurrentDaysInSelection-1 > DaysForThisSelection)
{
for (i=0; i<(CurrentDaysInSelection-1-DaysForThisSelection); i++)
{
[ - 1] = null
}
}
if (DaysForThisSelection > CurrentDaysInSelection-1)
{
for (i=0; i<(DaysForThisSelection-CurrentDaysInSelection+1); i++)
{
NewOption = new
Option(,);
(NewOption);
}
}
if ( < 0) == 0;
}
return true;
}
1.62 检验租赁合同号为 4 位年份+2 位月份+本月合同的顺序号 2 位
/************************************ Method: checkZlhth()
purpose: 检验租赁合同号为 4 位年份+2 位月份+本月合同的顺序号 2 位
parameters : 控件名称,提示信息
return value : true/false.
************************************/
function checkZlhth(controller,message){
var value=;
if (!=0 ){ if(!=8){//校验 8 位 alert(message+"为 8 位数字!");
();
return(false);
}
for(var i=0;i<8;i++)//校验全为数字
{
if ((i)>"9" || (i)<"0")
{
alert(message + "为 8 位数字!");
();
return(false);
}
76
}
//校验年
var year = parseInt((0,4),10);
if(year<2000 || year >2050)
{
alert(message + "前四位代表年,在 2000-2050 之间!");
();
return(false);
}
//校验月份
var month = parseInt((4,6),10);
if(month < 1 || month > 12)
{
alert(message + "五六位代表月份,在 01-12 之间!");
();
return(false);
}
}
return true;
}
//int 型最大值
var INTMAXVALUE=2147483647;
//long 类型最大值
var LONGMAXVALUE=9223372036854775807;
//返回换算箱数
function getHsx(xxdm){
var dd = parseInt(xxdm)/20;
return dd;
}
1.63 用于多行校验,校验每一行,每一列值是否为空,传入的必须是
/************************************
Method: chkRows(controlerID,lineNum)
purpose: 用于多行校验,校验每一行,每一列值是否为空,传入的必须是
tbody
parameters : controlerID tbody 的 id 值
lineNum 为从表格的第几行开始算起
return value : true/false. condition: controller:must
***********************************
*/
function chkRows(controlerID,lineNum,ignore){
77
element = (controlerID);
if( != "TBODY"){
alert("传入的必须是 Tbody!");
}
if(()){
var m =0;
var n =0;
var controler=null;
var controlerFirst=null;
var flag3=false; var flag4=false; var flag5=true;
for(var i=0;i<;i++){// trElement = (i);
if(()){
var flag=false;
var flag2=false;
for(var j=0;j<;j++){// tdElement = (j);
if(()){
for(var k=0;k<;k++){//
childNode = (k);
if(=="1"){//如果是 element
if((=="INPUT") ||
=="SELECT"){
y=0;y<;y++){
var ignoreFlag=false;
if(ignore!=null){
var ignoreArray =(",");
for(var
if((ignoreArray[y])>-1){
if( (=="SELECT"&&!="")){
}else
ignoreFlag=true;
break;
if(=="INPUT"){
ignoreFlag=true;
break;
}
}
}
}
if(ignoreFlag){continue;}
78
if(()=="TEXT"||
=="SELECT"){
if(==""||parseInt(,10)=="0"){
if(!flag){ flag=true; flag3=true; m =
+1-parseInt(lineNum,10);
+1; controler=childNode; if(flag5){controlerFirst=childNode;flag5=false;}
}else{
n =
}
if(!flag2){ flag2=true; flag4=true;
}
}
}
}
}
}
if(flag&&flag2){
alert("第"+m+"行 [ "++" ] 不能为空!");
();
flag=false;
flag2=false;
return false;
}
}
}
}
}
if(flag3&&!flag4){
alert("请输入命令细表内容!");
();
return false;
}
}
return true;
}
79
1.64 检查某列得多值中是否存在重复值
/**
Method: chkLjcz(prefix,flag,msg,col) purpose: 检查某列得多值中是否存在重复值 parameters : perfix 某列多值 styleId 的前缀
flag 隐藏域的 id 名称
msg 显示信息
col 如果是多栏显示,此参数则为栏数,如果是一
栏,则空
return value : true/false. condition: controller:must
*/
function chkLjcz(prefix,flag,msg,col){
with([0]){
var iCount = [flag];
var selObj1=null;
var selObj2=null;
for(var i=0;i<;i++){ selObj1=(prefix+iCount[i].value); if(!=""){
for(var j=i+1;j<;j++){
selObj2=(prefix+iCount[j].value);
if(==){
if(col!=null){
var m=parseInt(i/col);
var n=parseInt(j/col);
alert("第"+(m+1)+"行与第
"+(n+1)+"行的 [ "+msg+" ] 相同!");
"+(j+1)+"行的 [ "+msg+" ] 相同!");
}else{
}
alert("第"+(i+1)+"行与第
();
return false;
}
}
}
}
return true;
}
}
80
1.65 检查某列得多值与某一值得比较是否相同,例如多个到站路局与一个发站
路局是否相同
/**
Method: chkSslj(ljdm,xcljdmPrefix,xczdmPrefix,flag,msg1,masg2) purpose: 检查某列得多值与某一值得比较是否相同,例如多个到站路局与 一个发站路局是否相同
parameters : ljdm 某一个值
卸车路局代码 代码
return value : true/false. condition: controller:must
*/
xcljdmPrefix 某列多值 styleId 的前缀,一般是隐藏的
xczdmPrefix 某列多值 styleId 的前缀,一般是卸车站
flag 隐藏域的 id 名称 msg1 显示信息 1 msg2 显示信息 2
function chkSslj(ljdm,xcljdmPrefix,xczdmPrefix,flag,msg1,masg2){
with([0]){
var iCount = [flag];
var selObj=null;
for(var i=0;i<;i++){
selObj=(xcljdmPrefix+iCount[i].value);
if(!=""&&==){
alert("第"+(i+1)+"行的 ["+msg1+" ] 与 [ "+masg2+" ]
相同,请检查!");
(xczdmPrefix+iCount[i].value).focus();
return false;
}
}
return true;
}
}
1.66 检查两多值列是否相同,例如同一行的装车路局是否与卸车站所属路局是
否相同
/** Method:
chkZclj_Xclj(zcljdmPrefix,xcljdmPrefix,xczdmPrefix,flag,msg1,masg2)
81
purpose: 检查两多值列是否相同,例如同一行的装车路局是否与卸车站所 属路局是否相同
parameters : zcljdmPrefix 某列多值 styleId 的前缀,一般是隐藏的装车路局代码
卸车路局代码
return value : true/false. condition: controller:must
*/
xcljdmPrefix 某列多值 styleId 的前缀,一般是隐藏的
flag 隐藏域的 id 名称 msg1 显示信息 1 msg2 显示信息 2
function chkZclj_Xclj(zcljdmPrefix,xcljdmPrefix,flag,msg1,masg2){
with([0]){
var iCount = [flag];
var selObjZclj=null;
var selObjXclj = null;
for(var i=0;i<;i++){ selObjZclj=(zcljdmPrefix+iCount[i].value); selObjXclj=(xcljdmPrefix+iCount[i].value);
if(!=""&&==){
alert("第"+(i+1)+"行的 ["+msg1+" ] 与 [ "+masg2+" ]
相同,请检查!");
}
}
();
return false;
return true;
}
}
1.67 检查箱数与组数
箱数和组数不能同时为空,当选择箱型为 40 英尺时,1 组最多 1 个集装箱,20
英尺为 2 个集装箱,
/**
Method: chkXs(xczdm,xxdm,zs,sl,flag)
purpose: 检查箱数与组数
箱数和组数不能同时为空,当选择箱型为 40 英尺时,1 组最多 1 个集装箱,20
英尺为 2 个集装箱,
10 吨箱为 4 个,1 吨箱不超过 64 个
parameters : xczdmPrefix 卸车站列的 id 前缀
xxdmPrefix 箱型代码列的 id 前缀
82
return value : true/false. condition: controller:must
*/
zsPrefix 组数列的 id 前缀 slPrefix 数量列的 id 前缀 flag 隐藏域的 id 名称
function chkXs(xczdmPrefix,xxdmPrefix,zsPrefix,slPrefix,flag){
with([0]){
var iCount = [flag];
for(var i=0;i<;i++){
if((xczdmPrefix+iCount[i].value).value!=""){
var zsValue=(zsPrefix+iCount[i].value).value;
var slValue=(slPrefix+iCount[i].value).value
var xxdmValue =
(xxdmPrefix+iCount[i].value).value;
if(zsValue==""){
alert("组数不能为空!");
(zsPrefix+iCount[i].value).focus();
return false;
}
if(slValue==""){
alert("箱数不能为空!");
(slPrefix+iCount[i].value).focus();
return false;
}
var returnStr =
checkXsZs(xxdmValue,slValue,zsValue);
if(returnStr!=""){
alert(returnStr+"!");
(zsPrefix+iCount[i].value).focus();
return false;
}
}
}
return true;
}
}
1.68 检查箱数与组数
箱数和组数不能同时为空,当选择箱型为 40 英尺时,1 组最多 1 个集装箱,20
英尺为 2 个集装箱,
83
/**
Method: chkZcz_Xcz(zczPrefix,xczPrefix,msg1,msg2,flag)
purpose: 检查箱数与组数
箱数和组数不能同时为空,当选择箱型为 40 英尺时,1 组最多 1 个集装箱,20
英尺为 2 个集装箱,
parameters : zczPrefix 某列多值 styleId 的前缀,一般是的装车站代码前缀
xczPrefix 某列多值 styleId 的前缀,一般是卸车站代码
前缀
return value : true/false. condition: controller:must
*/
flag 隐藏域的 id 名称 msg1 显示信息 1 msg2 显示信息 2
function chkZcz_Xcz(zczPrefix,xczPrefix,msg1,msg2,flag){
with([0]){
var iCount=[flag];
for(var i=0;i<;i++){ zczObj=(zczPrefix+iCount[i].value); xczObj=(xczPrefix+iCount[i].value);
if(!=""&&!=""&&==){
alert("第"+(i+1)+"行[ "+msg1+" ] 与 [ "+msg2+" ] 相
同!");
();
return false;
}
for(var j=i+1;j<;j++){
zczObjNext =
(zczPrefix+iCount[j].value);
xczObjNext =
(xczPrefix+iCount[j].value);
if(!=""&&!=""&&==
&&==){
alert("第"+(i+1)+"条记录与第"+(j+1)+"条记录
重复!");
}
();
return false;
}
}
return true;
}
}
84
1.69 检查箱数与组数
箱数和组数不能同时为空,当选择箱型为 40 英尺时,1 组最多 1 个集装箱,20
英尺为 2 个集装箱,
/** Method:
chkZcz_Xcz_Other(zczPrefix,xczPrefix,otherPrefix,msg1,msg2,flag) purpose: 检查多列多值,同一行装车与卸车是否相同,不同行装车与装 车、卸车与卸车、other 字段集是否相同
parameters : zczPrefix 某列多值 styleId 的前缀,一般是的装车站代码前缀
xczPrefix 某列多值 styleId 的前缀,一般是卸车站代码
前缀
return value : true/false. condition: controller:must
*/
otherPrefix 其他列得前缀,用“,”隔开
flag 隐藏域的 id 名称
msg1 显示信息 1 msg2 显示信息 2
function chkZcz_Xcz_Other(zczPrefix,xczPrefix,otherPrefix,msg1,msg2,flag){
with([0]){
var iCount=[flag];
var colArray =null;
var objArray= new Array();
var objArrayNext= new Array();
var ifFlag = true;
colArray = (",");
for(var i=0;i<;i++){ zczObj=(zczPrefix+iCount[i].value); xczObj=(xczPrefix+iCount[i].value); for(var m=0;m<;m++){
objArray[m]=(colArray[m]+iCount[i].value);
}
if(!=""&&!=""&&==){
alert("第"+(i+1)+"行[ "+msg1+" ] 与 [ "+msg2+" ] 相
同!");
();
return false;
}
for(var j=i+1;j<;j++){
zczObjNext =
(zczPrefix+iCount[j].value);
xczObjNext =
(xczPrefix+iCount[j].value);
for(var n=0;n<;n++){
85
objArrayNext[n]=(colArray[n]+iCount[j].value);
}
var ifFlag = true;
for(var s=0;s<;s++){
if(objArray[s].value!=""&&objArray[s].value==objArrayNext[s].value){
ifFlag=ifFlag&&(objArray[s].value!=""&&objArray[s].value==objArrayNext
[s].value);
}else if(objArray[s].value!=""&&objArray[s].value!=objArrayNext[s].value){
ifFlag=false;
}
}
if(!=""&&!=""&&==
&&==&&ifFlag){
alert("第"+(i+1)+"条记录与第"+(j+1)+"条记录
重复!");
}
();
return false;
}
}
return true;
}
}
1.70 检查单列多值不能超过一定得长度
/**
Method: chkLength(controller,msg,flag,maxLength)
purpose: 检查单列多值不能超过一定得长度
parameters : controller 某列多值 styleId 的前缀,比如备注
msg 显示信息
flag 隐藏域的 id 名称
maxLength 最大长度
return value : true/false. condition: controller:must
*/
function chkLength(controller,msg,flag,maxLength){
with([0]){
var iCount=[flag];
for(var i=0;i<;i++){ zczObj=(controller+iCount[i].value); =trim();
86
if(getCNTxtLength()>maxLength){
alert("第"+(i+1)+"行 [ "+msg+" ] 不能超过
"+maxLength+"字符!");
}
();
return false;
}
return true;
}
}
1.71 取字符串长度(不包含两端的空格
/************************************
function: getCNTxtLength(controller) purpose: 取字符串长度(不包含两端的空格) parameters : 字符串
return value : int
************************************/
function getCNTxtLength(controller) {
var len; var i; len = 0;
for (i = 0 ;i < ; i++) {
if ((i) > 255)
len += 2;
else
}
len++;
return len;
}
function replaceAll(number){
return (new RegExp(",","g"),"");
}
1.72 向表格中添加一行
/**
*向表格中添加一行
* param:formId 数据表格所在表单的的 id
* param:tbodyId 数据所在表格 tbody 元素的 id
* param:baseControllerId 新加行的复制依据数据块所在的 HTML 控件
ID,如果没有指定,则直接取指定 TBODY 区域的第一行
*/
function addRow(formId, tbodyId, baseControllerId){
87
if(formId==null || formId==""){
alert("您必须指定 FORM 的 ID!");
return;
}
if(tbodyId==null || tbodyId==""){
alert("您必须指定 TBODY 的 ID!");
return;
}
oTbody = (tbodyId);
var baseController = null;
if(baseControllerId!=null && ()!=""){
baseController = (baseControllerId);
}
var oTr = null;
var isTr = false;
var oParent = null;
if(baseController==null){//如果没有指定隐藏区块作为复制的依
据,则根据 tbody 的第一行来复制
oParent = oTbody;
}else{
}
oParent = baseController;
while(!isTr){
oTr = ;
if(oTr!=null && =="TR"){
isTr=true;
}else if(oTr!=null){
oParent = oTr;
}else{//退出
isTr = true;
}
}
new_idx = ;//新添加行的序号.
oTrNew = ("TR");
for(var i=0;i<;i++){
oTd = [i];
//alert("oTd="+oTd+" nodeName="++" tagName="++" nodeType="++" name="+("name"));
if(==1){//如果是 HTML 标签,不是普通的文本
oTdNew = (true);
//alert("="++" || nodeName="++" || nodeTag="++" || name="+("name"));
88
if(=="TD"){//如果是 TD
for(var j=0;j<;j++){
oChild = [j];
//alert("="++" ="+);
if( ==1&&
!="SCRIPT"){//如果是 HTML 标签,不是普通的文本
oChildName =
("name"); ("id"); (0,-2)
oChildId =
var id =
oChildId = id+new_idx;
//alert("oChildId="+ oChildId +"
oChildName="+oChildName+" oChildValue="+("value"));
oChildName = (0,("[")+1)+new_idx+ ng(("]"));
//alert("oChildName="+oChildName);
("id",oChildName);
("name",oChildName);
}
}else{
}
oTdNewName = ("name");
if(oTdNewName!=null&& oTdNewName!=""){
oTdNewName =
(0,("[")+1) + new_idx +
(("]")); ("id",oTdNewName); ("name",oTdNewName);
//alert("xxxxxxxxxx="+("name")+" dddd
="+("value"));
}
}
(oTdNew);
}else{//如果是普通文本则直接 copy
(oTd);
}
}
89
(oTrNew);
addValidator(formId, oTrNew);
}
1.73 将添加的输入框元素和 Validator 进行绑定。
/**
*将添加的输入框元素和 Validator 进行绑定。
* param:formId 数据表格所在表单的的 id
* param:oTr 新添加的表格行对象
*/
function addValidator(formId, oTr){
var validatorGroup = [formId].validatorGroup;
for(var i=0;i<;i++){
oTd = [i];
//alert("oTd="+oTd+" nodeName="++" tagName="++" nodeType="++" name="+("name"));
if(==1){//如果是 HTML 标签,不是普通的文本
//alert("="++" || nodeName="++" || nodeTag="++" || name="+("name"));
if(=="TD"){//如果是 TD
for(var j=0;j<;j++){
oChild = [j];
//alert("="++" ="+);
HTML 标签,不是普通的文本
("id"); oChildId==""){ ("name");
("valid");
getValidatorJSClassName(validator);
getValidatorFormat(validator);
if( ==1){//如果是
oChildId =
if(oChildId==null ||
oChildId =
}
validator =
if(validator!=null){
className =
format =
90
("empty");
var isEmpty =
if(isEmpty=="true"){
isEmpty = true;
}else{
}
isEmpty = false;
("scope");
var scope =
if(scope==null){
scope = "";
("title");
}
var title =
if(title==null) title="";
if(className=="DecimalValidator"){
(new
DecimalValidator([oChildId],title,isEmpty,format,scope));
}else
if(className=="IntegerValidator"){
(new
IntegerValidator([oChildId],title,isEmpty,format,scope));
}else
if(className=="DateValidator"){
(new
DateValidator([oChildId],title,isEmpty,format,scope));
}else
if(className=="DigitValidator"){
(new
DigitValidator([oChildId],title,isEmpty,format,scope));
}else
if(className=="EmailValidator"){
(new
EmailValidator([oChildId],title,isEmpty,format,scope));
}else
if(className=="IdcardValidator"){
(new
IdcardValidator([oChildId],title,isEmpty,format,scope));
}else
if(className=="PostcodeValidator"){
(new
PostcodeValidator([oChildId],title,isEmpty,format,scope));
91
if(className=="TelephoneValidator"){
}else
(new
TelephoneValidator([oChildId],title,isEmpty,format,scope));
}
}
}
}
}else{
oTdNewName = ("name");
if(oTdNewName!=null&& oTdNewName!=""){
oTdNewName = (0,("[")+1) + new_idx + (("]"));
("name",oTdNewName);
}
}
}
}
}
1.74 根据<common:text>标签展示的<input validator="decimal(16,2+)">的
validator 属性获取校验器类名(DecimalValidator)
/**
*根据<common:text>标签展示的<input validator="decimal(16,2+)">的
validator 属性获取校验器类名(DecimalValidator)
*/
function getValidatorJSClassName(validatorName){
if(validatorName==null){
alert("validatorName 不能为 null!");
}
var indexStart = ("(");
if (indexStart > 0){
validatorName = (0, indexStart);
}
return (0,1).toUpperCase() + (1)
+ "Validator";
}
/**
92
* 根据<common:text>标签展示的<input validator="decimal(16,2+)">的
validator 属性获取校验的格式(16,2+)
*/
function getValidatorFormat(validatorName){
if(validatorName==null){
alert("validatorName 不能为 null!");
}
var indexStart = ("("); var indexEnd = (")"); if(indexEnd>indexStart&&indexStart>0){
return (indexStart+1,indexEnd);
}else{
return "";
}
}
1.75 删除一行
/**
* 删除一行
* param:tbodyId 数据所在表格 tbody 元素的 id
* param:controller 点击事件所在的控件,可能为按钮,也可能为其他
html 控件
*/
function delRow(tbodyId,controller){
if(tbodyId==null || tbodyId==""){
alert("您必须指定 TBODY 的 ID");
return;
}
var nodeName = ; var oTr = controller; while(nodeName!="TR"){
oTr = ;
nodeName = ;
}
oTbody = (tbodyId);
rowCount = ;//删除后表格数据总行数
curIdx = ;//当前行的行号
(oTr);
//修改被删除的 TR 后面的 TR 内的元素的 name 和 ID 属性。
var newIdx=curIdx;
93
for(var i=curIdx-1;i<rowCount-1;i++){
sibingTr = [i];
//alert("sibingTr="+sibingTr+" ="++" "++" newIdx="+newIdx);
for(var j=0;j<;j++){
oTd = [j];
if(==1 && =="TD"){
for(var k=0;k<;k++){ oChild = [k]; if(!="SCRIPT" &&
!="#text" && !="A"){
childName =
("name");
if(childName!=null){
childName =
(0,("[")+1) + (newIdx-1) +
(("]"));
("name",childName);
("id");
}
childId =
if(childId!=null){
childId =
(0,("[")+1) + (newIdx-1) +
(("]"));
("id",childId);
}
}
}
}
}
newIdx = newIdx + 1;
}
}
1.76 根据箱型,校验箱数与组数的值是否符合规定
/*********************************** Method: checkXsZs(xxdm,xs,zs)
puerpose: 根据箱型,校验箱数与组数的值是否符合规定
parameters: 箱型代码、箱数、组数,此三项都为必输项
return:校验通过返回“”,否则返回出错信息
94
************************************/
function checkXsZs(xxdm,xs,zs){
var jzxCount = parseInt(xs,10);
var count = parseInt(zs,10);
var xx = xxdm;
if(count == 0 && jzxCount == 0){
return "箱数与组数不能同时为 0!";
}
if((count==0 && jzxCount!=0) || (count!=0 && jzxCount==0)){
return "";
}
var max = 0;
if(xx == "50"){
max = count*1;
if(jzxCount > max){
return count+"组四十八英尺箱最多有"+max+"个集装箱!";
}
}
else if(xx == "40"){ max = count*1; if(jzxCount > max){
return count+"组四十英尺箱最多有"+max+"个集装箱!";
}
}
else if(xx == "20"){ max = count*2; if(jzxCount > max){
return count+"组二十英尺箱最多有"+max+"个集装箱!";
}
}
else if(xx == "10"){ max = count*4; if(jzxCount > max){
return count+"组十吨箱最多有"+max+"个集装箱!";
}
}
else if(xx == "01"){
max = count*64;
if(jzxCount > max){
return count+"组一吨箱最多有"+max+"个集装箱!";
}
else{
}
}
return "没有此箱型!";
return "";
}
95
1.77 删除字符串两侧的空格
/*************************
**
**
**
*******************************/
//删除字符串两侧的空格
function trim(str)
{
str = this != window? this : str;
return (/^/s+/g, '').replace(//s+$/g, '');
}
1.78 检验单个集装箱箱号为 4 位字母+7 位数字
/************************************ Method: checkJzxxh()
purpose: 检验单个集装箱箱号为 4 位字母+7 位数字
parameters : 控件名称,提示信息
return value : true/false.
************************************/
function checkJzxxh(controller,message){
var value=trim();
if (!=0 ){
if(!=11 && !=10){
alert(message+"为 4 位字母+7 位数字");
if( != "hidden")();
return(false);
}
var xzdm = (0,4).toUpperCase();
for (var i=0;i<4;i++){
if((!((i)>="a" && (i)<="z")) && (!((i)<="Z" && (i)>="A")) && xzdm != 'TJ1U'){
alert(message+"为 4 位字母+7 位数字");
if( != "hidden")();
return(false);
}
}
for (var i=4;i<;i++){
if( (i)>"9" || (i)<"0"){
alert(message+"为 4 位字母+7 位数字");
if( != "hidden")();
return(false);
}
}
96
var checkNoBit = ().substring(0,10);//集装箱箱号的前十 位
var checkBit = "";
if (==11)
{
checkBit = (10,11);
}
var j,checkIntBit;
var sum = 0;//累加之和
for(var i=0;i<10;i++)
{
switch ((i))
{
case 'A':{j=10;break;}
case 'B':{j=12;break;} case 'C':{j=13;break;} case 'D':{j=14;break;} case 'E':{j=15;break;} case 'F':{j=16;break;} case 'G':{j=17;break;}
case 'H':{j=18;break;}
case 'I':{j=19;break;}
case 'J':{j=20;break;}
case 'K':{j=21;break;}
case 'L':{j=23;break;} case 'M':{j=24;break;} case 'N':{j=25;break;} case 'O':{j=26;break;} case 'P':{j=27;break;} case 'Q':{j=28;break;} case 'R':{j=29;break;} case 'S':{j=30;break;} case 'T':{j=31;break;} case 'U':{j=32;break;} case 'V':{j=34;break;} case 'W':{j=35;break;} case 'X':{j=36;break;} case 'Y':{j=37;break;} case 'Z':{j=38;break;}
default:j=parseInt((i));
} j=j*((2, i)); sum=sum+j;
}
checkIntBit=sum%11;
if(checkIntBit == 10) checkIntBit = 0;
if (==11)//用户输入 11 位,校验最后一位
{
if(checkIntBit != checkBit)
97
{
alert(message+"最后一位校验位不正确!");
if( != "hidden")();
return(false);
}
}
else{//用户输入 10 位,填写最后一位
value = (0,10) + checkIntBit;
}
}
upValue = ();
= upValue;
return true;
}
1.79 检验多个集装箱箱号为 4 位字母+7 位数字
/************************************ Method: checkAllJzxxh()
purpose: 检验多个集装箱箱号为 4 位字母+7 位数字
parameters : 控件名称,提示信息,箱数
return value : true/false.
************************************/
function checkAllJzxxh(controller,message,xsController){
with([0]){
var controllerArray = (controller);
var rowCount=1;
var allStr="";
var xhCount=0;
var firstController=null;
if(controllerArray[0]!=null){
rowCount = ;
firstController=controllerArray[0];
for(var i=0;i<;i++){
allStr+=controllerArray[i].value;
}else{
}
}
allStr=(new RegExp(";","g"),",");
allStr=trim((0,-1));
firstController=controllerArray;
allStr = trim();
for(var n=0;n<rowCount;n++){
var value2=null;
98
var tempController=null; if(rowCount==1){ value2=trim(); tempController = controllerArray;
}else{
value2=trim(controllerArray[n].value);
tempController=controllerArray[n]
}
if (!=0 ){
xhCount = (",").length;
var longtn = ;
var theLast = (longtn -1,longtn);
var msg = "请按照说明的格式输入:/r/n 箱号应为四位字母加
七位/"0/"--/"9/"的数字/r/n 箱号之间用半角','隔开,最后以半角';'结束!";
if(longtn==1&& value2== ';')
{
");
alert("[ "+message+" ] 请按照说明的格式输入箱号!
();
return false;
}
if(theLast != ';')
{
以半角';'结束!");
}
alert("[ "+message+" ] 请按照说明的格式输入:最后
();
return false;
if(longtn>12&&(",")<0){
alert("[ "+message+" ] 请按照说明的格式输入:/r/n 箱
号应为四位字母加七位/"0/"--/"9/"的数字/r/n 箱号之间用半角','隔开!");
();
return false;
}
var xhArray = (0,longtn -1).split(",");
for(var m=0;m<;m++){
value=xhArray[m];
if (!=0 ){
if(!=11 && !=10){
alert(message+" [ "+value+"] "+msg);
if( !=
"hidden")();
return(false);
}
99
var xzdm = (0,4).toUpperCase();
for (var i=0;i<4;i++){
if((!((i)>="a" && (i)<="z"))
&& (!((i)<="Z" && (i)>="A")) && xzdm != 'TJ1U'){ alert(message+" [ "+value+"] "+msg); if( !=
"hidden")();
}
return(false);
}
"+msg);
for (var i=4;i<;i++){
if( (i)>"9" || (i)<"0"){
alert(message+" [ "+value+"]
if( !=
"hidden")();
}
return(false);
}
if((value)!=(value)){
alert(message+" [ "+value+"] 重复!");
if( !=
"hidden")();
}
return(false);
var checkNoBit =
().substring(0,10);//集装箱箱号的前十位
var checkBit = "";
if (==11)
{
checkBit = (10,11);
}
var j,checkIntBit;
var sum = 0;//累加之和
for(var i=0;i<10;i++)
{
switch ((i))
{
case 'A':{j=10;break;}
case 'B':{j=12;break;} case 'C':{j=13;break;} case 'D':{j=14;break;} case 'E':{j=15;break;} case 'F':{j=16;break;} case 'G':{j=17;break;}
case 'H':{j=18;break;}
case 'I':{j=19;break;}
case 'J':{j=20;break;}
case 'K':{j=21;break;}
100
后一位
后一位校验位不正确!");
case 'L':{j=23;break;} case 'M':{j=24;break;} case 'N':{j=25;break;} case 'O':{j=26;break;} case 'P':{j=27;break;} case 'Q':{j=28;break;} case 'R':{j=29;break;} case 'S':{j=30;break;} case 'T':{j=31;break;} case 'U':{j=32;break;} case 'V':{j=34;break;} case 'W':{j=35;break;} case 'X':{j=36;break;} case 'Y':{j=37;break;} case 'Z':{j=38;break;}
default:j=parseInt((i));
} j=j*((2, i)); sum=sum+j;
}
checkIntBit=sum%11;
if(checkIntBit == 10) checkIntBit = 0;
if (==11)//用户输入 11 位,校验最
{
if(checkIntBit != checkBit)
{
alert(message+" [ "+value+"] 最
if( !=
"hidden")();
}
return(false);
}
checkIntBit;
else{//用户输入 10 位,填写最后一位
valueLast = (0,10) +
value2=(value,valueLast);
}
}
}
if(xsController!=null&&rowCount==1){
if(!=){
alert("实际集装箱个数为
"++",请修改数量!");
"hidden")();
if( !=
return(false);
101
}
}
}
upValue = ();
= upValue;
}
if(xhCount ==0){
"hidden")();
}
alert("箱号不能为空,请添加箱号!");
if( !=
return(false);
if(xsController!=null&&rowCount!=1){
if(xhCount!=){
alert("实际集装箱个数为
"+xhCount+",请修改数量!");
"hidden")();
}
}
}
return true;
}
if( !=
return(false);
1.80 检验单个集装箱箱号为'TBJU'+7 位数字用于租赁部分的箱号校验
/************************************ Method: checkJzxxh()
purpose: 检验单个集装箱箱号为'TBJU'+7 位数字用于租赁部分的箱号校验
parameters : 控件名称,提示信息
return value : true/false.
************************************/
function checkZlxh(controller,message){
var value=; if (!=0 ){ if(!=11){
alert(message+"应该为 11 位!");
if( != "hidden")();
return(false);
}
var xzdm = (0,4).toUpperCase();
if(xzdm != 'TBJU'){
alert(message+"前四位应该为字母‘TBJU’!");
if( != "hidden")();
return(false);
}
102
for (var i=4;i<;i++){
if( (i)>"9" || (i)<"0"){
alert(message+"后7位应该为数字!");
if( != "hidden")();
return(false);
}
}
var checkNoBit = ().substring(0,10);//?ˉ×°????o?μ??°
ê???
var checkBit = (10,11);
var j,checkIntBit;
var sum = 0;//à??ó??oí for(var i=0;i<10;i++)
{
switch ((i))
{
case 'A':{j=10;break;} case 'B':{j=12;break;} case 'C':{j=13;break;} case 'D':{j=14;break;} case 'E':{j=15;break;} case 'F':{j=16;break;} case 'G':{j=17;break;} case 'H':{j=18;break;} case 'I':{j=19;break;} case 'J':{j=20;break;} case 'K':{j=21;break;} case 'L':{j=23;break;} case 'M':{j=24;break;} case 'N':{j=25;break;} case 'O':{j=26;break;} case 'P':{j=27;break;} case 'Q':{j=28;break;} case 'R':{j=29;break;} case 'S':{j=30;break;} case 'T':{j=31;break;} case 'U':{j=32;break;} case 'V':{j=34;break;} case 'W':{j=35;break;} case 'X':{j=36;break;} case 'Y':{j=37;break;} case 'Z':{j=38;break;}
default:j=parseInt((i));
}
j=j*((2, i));
sum=sum+j;
}
checkIntBit=sum%11;
if(checkIntBit == 10) checkIntBit = 0;
103
if(checkIntBit != checkBit)
{
alert(message+"最后一位校验位不正确!");
if( != "hidden")();
return(false);
}
}else{
alert(message+"不能为空!");
return(false);
}
upValue = (); = upValue; return true;
}
//han_feng 2003.11
//包含标志
var _INCLUDE_VALIDATE_JS = "YES";
常用校验方法 //
1.81 操作员口令校验,3-12 位数字或字母
//操作员口令校验,3-12 位数字或字母
function isPassword(nStr){
return ((>=3) && (<=12));
}
1.82 操作员编号校验,7 位数字
//操作员编号校验,7 位数字
function isOperId(sId){
return (isNumber(sId) && (==7));
}
1.83 限制 期限 不能大于 100 年
/**
*功能: 限制 期限 不能大于 100 年
*@param period 期限
*@param flag 期限单位
*@return true 通过检查; false 未通过检查
*/
function checkDatePeriod(period,flag){
var ret=true;
104
if(flag=="0"){
if(period>100)
ret= false;
}
else if(flag=="1"){
if(period >100 * 12)
ret= false;
}
else if(flag=="2"){
if(period >100 * 12 * 365)
ret= false;
}
return ret;
}
1.84 将日期格式由 yyyy-MM-dd,转换为 yyyymmdd,以直接比较两个日期的 大小
/************************************************
function: dateFormat
purpose: 将日期格式由 yyyy-MM-dd,转换为 yyyymmdd,以直接比较两个
日期的大小
parameters : 需要进行转换的日期串
return value : 处理后的日期串
*************************************************/
function dateFormat(str)
{
var yy="",mm="",dd="";
m=0;
j=0;
for (i=0;i<=;i++){ if((i)=="-" || i==){ m++;
if(m==1)
yy=(j,i);
if(m==2)
mm=(j,i);
if(m==3)
dd=(j,i);
j=i+1;
}
}
if (mm!="")
mm=fillZero(mm); if (dd!="") dd=fillZero(dd);
105
date = yy + mm +dd;
return (date);
}
1.85 判断字符串是否全部由数字组成
/************************************************
function: isNumber
purpose: 判断字符串是否全部由数字组成
parameters : 需要进行判断的字符串
return value : true/false
*************************************************/
function isNumber(controller,message){ var value=; if(!=0){
for (i=0;i<;i++){
if ((i)>'9' || (i)<'0'){
alert(message+"为 0-9 的数字");
();
return false;
}
}
}
return true;
}
1.86 判断字符串是否全部由字母组成
/************************************************
function: isLetter
purpose: 判断字符串是否全部由字母组成
parameters:需要进行判断的字符串
return value: true/false
************************************************/
function isLetter(controller,message){ var value=; if(!=0){
for(i=0;i<;i++){
if((!((i)>="a" && (i)<="z")) && (!((i)<="Z" && (i)>="A"))){
alert(message+"为 A-Z 或 a-z 的字母");
();
return false;
}
else return true;
}
}
else return true;
}
106
1.87 对于月和日,如果前面有零,去除,如 01 变为
1/************************************************
function: trimZero
purpose: 对于月和日,如果前面有零,去除,如 01 变为 1
parameters : 需要进行处理的字符串
return value : 处理后的字符串
*************************************************/
function trimZero(str)
{
var i,j,result="";
j = ;
for (i=0;i<j;i++)
if ( (i)!='0' ) break;
result = (i,j);
return result;
}
//判断是否是数字
function isNum(str){ var sl = 0; if(>0)
{
if (((0)<'0' || (0)>'9') && (0)!='.'&&
(0)!='-')
return false;
}
if(>=1)
{
for (var i=0;i<;i++)
{
if (((i)<'0' || (i)>'9') && (i)!='.')
return false;
if ((i) == ".")
{
sl = sl + 1;
}
}
if (sl > 1)
{
return false;
}
if ((-1) == ".")
{
return false;
}
if (str == ".")
{
return false;
}
107
}
return true;
}
1.88 为 1 位的日月在前面补零,如将 1 变为 01
/************************************************
function: fillZero
purpose: 为 1 位的日月在前面补零,如将 1 变为 01
parameters : 需要进行处理的字符串
return value : 处理后的字符串
*************************************************/
function fillZero(str)
{
var i,j,result="";
j = ;
if (j==1)
result = "0" + str;
else
result = str;
return result;
}
1.89 在删除按钮的 onclick 事件触发
/************************************
function: delConfirm()
purpose: 在删除按钮的 onclick 事件触发
parameters : 提交的表单名称
************************************/
function delConfirm(form){
if (confirm("确定要删除吗?"))
();
}
1.90 检查 EMail 格式
/************************************
function: checkEmail() purpose: 检查 EMail 格式 parameters : 控件名称
return value : true/false.
************************************/
function checkEmail(controller)
{
108
var strEmail=;
var strE="@"; var strI="."; var i;
var iPos; var iLen; var iT=0;
var strT="";
if (!=0){ strT=strEmail; i=(" "); if(i != -1)
{ alert("邮件地址不正确");
return false;
}
do
{
iPos=(strE);
iLen=;
if (iPos==-1)
{
if(iT==0)
{ alert("邮件地址不正确");
return false;
}
else
{
}
else
{
}
break;
if ((iPos==0)||(iPos==(iLen -1)))
{ alert("邮件地址不正确");
return false;
}
else
{
}
iT++;
}
}
strT=(iPos+1);
while(strT !="")
if (iT !=1)
{ alert("邮件地址不正确");
return false;
}
strT=(iPos+1,1);
109
if (strT==".")
{ alert("邮件地址不正确");
return false;
}
iT=0; iPos=(strE); strT=(iPos+1); do
{
iPos=(strI);
iLen=;
if (iPos== -1)
{
}
else
{
break;
if((iPos==0)||(iPos==(iLen -1)))
{ alert("邮件地址不正确");
return false;
}
else
{
}
iT++;
}
}
strT=(iPos+1);
while(strT !="")
iPos=(strE); strT=(0,iPos); iPos=(strI);
if(iPos != -1)
{ alert("邮件地址不正确");
return false;
}
}
return true;
}
1.91 对输入控件的内容进行非空检验,如果为空,弹出提示信息
/************************************
function: checkNotnull()
purpose: 对输入控件的内容进行非空检验,如果为空,弹出提示信息
110
parameters : 控件名称,提示信息
return value : true/false.
************************************/
function checkNotnull(controller,message){ var value=trim(); = value;
if (==0){
alert(message+"不能为空!");
();
return false;
}
return true;
}
1.92 检验控件值是否是固定位数的有效数字
/************************************
function: checkNumber()
purpose: 检验控件值是否是固定位数的有效数字
parameters : 控件名称,提示信息
return value : true/false.
************************************/
function checkNumber(controller,len,message){
var value=trim();
var count=0;
if (!=0){
for (var i=0;i<;i++){
if ((i)>"9" || (i)<"0"){
alert(message + "为 0-9 的数字");
();
return false;
}
}
if (
>
10){
alert(message+"的数字太大,请检查!");
();
return false;
}
else if ( == 10){
if (value > "2147483647"){
alert(message+"的数字太大,请检查!");
();
return false;
}
}
}
111
if(>len||(<len&&value!="")){
alert(message+"应为"+len+"位");
return false;
}
else return true;
}
/* */
function checkNum(controller)
{
var value=;
var count=0;
if (!=0){
for (var i=0;i<;i++){
if ((i)>"9" || (i)<"0")
return(false);
}
}
return(true);
}
function checkNumN(Num)
{
var value=trim(Num);
var count=0;
if (!=0){
for (var i=0;i<;i++){
if ((i)>"9" || (i)<"0")
return(false);
}
}
return(true);
}
1.93 所输内容应为字母
/************************************ Method: checkLetter()
purpose: 所输内容应为字母
parameters : 控件名称,提示信息
return value : true/false.
测试页面:
************************************/
function checkLetter(controller,len,message){
var value=;
if (!=0){
for (var i=0;i<;i++){
112
if((!((i)>="a" && (i)<="z")) && (!((i)<="Z" && (i)>="A"))){
alert(message+"为 A-Z 或 a-z 的字母");
();
return false;
}
}
}
/**********liu_qchao add 2004-9-21**********/
if(>len){
alert(message+"应小于等于"+len+"位!");
return false;
}
/******************************************/
var upValue = ();
= upValue;
return true;}
1.94 过滤掉"'"、"%"、"&"、"/"、"/"
/************************************ Method: quoteFilter()
purpose: 过滤掉"'"、"%"、"&"、"/"、"/"
parameters : 控件名称
************************************/
function quoteFilter(controller){
var valueStr = ;
var pattern = /[/`]|[/~]|[/!]|[/@]|[/#]|[/$]|[/%]|[/^]|[/&]|[/*]|[/']|[/"]|[//]|[//]|[?]/;
var flag = (valueStr);
if(flag){
alert("请不要输入以下非法字符( `, ~, !, @, #, $, %, ^, &,*, ‘, “, /,
//,? )");
}else{
}
}
return false;
return true;
//删除字符串两侧的空格
function trim(str)
{
str = this != window? this : str;
return (/^/s+/g, '').replace(//s+$/g, '').replace(/^[/s /t]+|[/s /t]+$/g, '');
}
113
1.95 取字符串长度(不包含两端的空格)
/************************************
function: getCNTxtLength(controller) purpose: 取字符串长度(不包含两端的空格) parameters : 字符串
return value : int
************************************/
function getCNTxtLength(controller) {
var len; var i; len = 0;
for (i = 0 ;i < ; i++) {
if ((i) > 255)
len += 2;
else
}
len++;
return len;
}
/**/
function formatNumber(num,Fraction)
{
num = ().replace(//$¥|/,/g,'');
if(isNaN(num))//not a number num = "0";
Fraction = ();
if(isNaN(Fraction)) Fraction="0";
var nMulti=1;
var nFraction = parseInt(Fraction,10)
for(var i=0;i<nFraction;i++)
nMulti = nMulti*10;
num = (num*nMulti);
cents = num%nMulti;
num = (num/nMulti).toString();
//设置千分位
for (var i = 0; i < ((-(1+i))/3); i++) num = (0,-(4*i+3))+','+ (-(4*i+3));
//计算小数点后加多少“0”;
var n = 0;
var sum = cents;
var zero="";
114
if(cents ==0)
{
}
else
{
n = nFraction-1;
while(sum*10 < nMulti)
{
sum = sum*10;
n++;
}
}
for(var j=0;j<n;j++)
{
zero = zero +"0";
}
cents = zero + cents;
if(nFraction > 0)
num = num + '.' + cents;
return num;
}
function amtTranBack(moneyStr){
return parseFloat((/,/g, ""));
}
1.96 将金额转化成按千分位的显示格式
function amtTranShow(amtStr){
var a,renum='';
var j=0;
var a1='',a2='',a3=''; var tes=/^-/; if(>=33&&<=40) return;
a=(/,/g, "");
a=(/[^-/.,0-9]/g,"");//删除无效字符
a=(/(^/s*)|(/s*$)/g, "");//trim if((a)) a1='-';
else a1='';
a=(/-/g,"");
if(a!="0" && (0,2)!="0.")a=(/^0*/g, "");
j=('.'); if(j<0) j=; a2=(0,j); a3=(j); j=0;
for( i=;i>3;i=i-3){
115
renum=","+(i-3,3)+renum;
j++;
}
renum=a1+(0,-j*3)+renum+a3;
return renum;
}
1.97 清空查询条件
/************************************ Method: setClear()
purpose: 清空查询条件
parameters: num 页面上的控件个数
************************************/
function setClear(){
divColl = ("input");
for (i=0; i<; i++) {
whichEl = divColl(i);
if (!="button")
{
= "";
}
}
divColl = ("select");
for (i=0; i<; i++) {
whichEl = divColl(i);
if(!="pagesize"&&!="Pagelist")
[0].selected = true;
}
}
1.98 价格输入是否合法(99,999.00)
/************************************ Method: checkPrice()
purpose: 价格输入是否合法(99,999.00)
parameters : 控件名称,提示信息
return value : true/false.
************************************/
function checkPrice(controller,message){
var value=;
var m=0;
if (!=0){
116
for (var i=0;i<;i++){
if (((i)>"9" || (i)<"0") &&
(i)!="." && (i)!=",") {
alert(message + "用小数或整数表示!");
();
return(false);
}
if ((i)==".")
{
m++;
}
}
if (
m>1)
{
alert(message + "至多有一个小数点!");
();
return(false);
}
}
else ="";
return true;
}
1.99 检验货票号为 1 位字母+6 位数字
/************************************ Method: checkHph()
purpose: 检验货票号为 1 位字母+6 位数字
parameters : 控件名称,提示信息
return value : true/false.
************************************/
function checkHph(controller,message){
var value=;
if (!=0 ){
if((!((0)>="a" && (0)<="z")) && (!((0)<="Z" && (0)>="A"))){
alert(message+"的第一位应该为字母");
();
return(false);
}
for (var i=1;i<;i++){
if( (i)>"9" || (i)<"0"){
alert(message+"的格式错误,正确的格式应为 1 位字
母+6 位数字");
();
return(false);
117
}
}
}
upValue = ();
= upValue;
return true;
}
2.00 检验起始货票号必须小于截至货票号
/************************************ Method: checkHphSeq()
purpose: 检验起始货票号必须小于截至货票号
parameters :
return value : true/false.
************************************/ function checkHphSeq(qsController,jzController){ var qshp=;
var jzhp=;
if (==0 && !=0){
var i = checkHph(jzController,"截止货票号");
return i;
}
if (
==0
&& !=0){
var j = checkHph(qsController,"起始货票号");
return j;
}
if (!=0 && !=0){
if (!checkHph(qsController,"起始货票号"))
return false;
if (!checkHph(jzController,"截止货票号"))
return false;
if (checkHph(qsController,"起始货票号") && checkHph(jzController,"截止货票号
")){
if (qshp>jzhp){
alert("起始货票号不能大于截止货票号!");
return false;
}
}
}
return true;
}
118
2.01 检验查询条件是否为空,为空则提示"查询条件不能为空!"
/************************************ Method: checkConditionNotNull()
purpose: 检验查询条件是否为空,为空则提示"查询条件不能为空!"
parameters :
return value : true/false.
************************************/
function checkConditionNotNull(){
var notNull=false;
divColl = ("select");
for (i=0; i<; i++) { whichEl = divColl(i); if(!=0){
if(!="fsdwlx"&&!="dddwlx"&&!="pagesize"
&&!="Pagelist"&&!="zfdwlx"&&!="zddwlx"
&&!="xfdwlx"&&!="xddwlx"){
notNull=true;
break;
}
}
}
if(notNull==false){
divColl = ("input");
for (i=0; i<; i++) {
whichEl = divColl(i);
if (!="button"&&
!="hidden"){
if(!==0){
notNull=true;
break;
}
}
}
}
if(notNull==true) return true;
else {
alert("查询条件不能为空!");
return false;
}
}
2.02 检验是不是最短位数的数字,用于模糊查询
/************************************
119
Method: checkNumberLeastLen(controller,leastLen,message)
purpose: 检验是不是最短位数的数字,用于模糊查询
parameters : controller,leastLen,message return value : true/false.
************************************/
function checkNumberLeastLen(controller,leastLen,message){
var value=;
if (!=0){
for (var i=0;i<;i++){
if ((i)>"9" || (i)<"0"){
alert(message + "为 0-9 的数字");
();
return false;
}
}
if (
>=10){
alert(message+"的数字太大,请检查!");
();
return false;
}
}
if( <leastLen&&>0){
alert(message+"至少应为"+leastLen+"位");
();
return false;
}
else return true;
}
2.03 输入为 Decimal 格式的数,且小数点前后都不能超过规定的位数
/************************************
Method: checkDecimalNumber(controller,message,befor,after)
purpose: 输入为 Decimal 格式的数,且小数点前后都不能超过规定的位数
parameters : 控件名称,提示信息,小数点前面的最大位数,小数点后面的最 大位数
return value : true/false.
************************************/
function checkDecimalNumber(controller,message,befor,after){
var re=new RegExp("^((//d{1," + befor + "}(//.//d{1," + after + "})?)||(//.//d{1," + after + "}))$");
if(!()){
alert("提示:" + message + "输入错误必须为整数或小数,且整数位不
得大于" + befor + "位," + "小数位不得大于" + after + "位!");
return false;
}else{
}
return true;
120
}
2.04 电话号码校验(只能为横线?、()、或数字)
/************************************ Method: isTel(controller)
purpose: 电话号码校验(只能为横线?、()、或数字)
************************************/
function isTel(controller){
var tel=;
var validchars = "-()1234567890 ";
for (i=0;i<;i++){
telchar=(i);
if ((telchar, 0) == -1){
alert("请输入正确的电话号码格式!");
();
return false;
}
}
return true;
}
2.05 电话号码由数字和-组成 and 电话号码为 7 到 13 位 and 13 开头的头的手
机号码必须为 11 位
/************************************ (1)电话号码由数字和-组成 (2)电话号码为 7 到 13 位
(3)13 开头的头的手机号码必须为 11 位
************************************/
function phoneCheck(controller,msg) { var str=trim(); var rst = (0,2);
var re = /^[1][3]/d{9}$/;
var reg = /^((/d{3,4}/-)?/d{7,8}(/-/d)?)$/;
if((rst == 13)&&(!=11)&&!(str)){
alert(msg+"号码格式错误,请输入正确的电话号码(手机)!");
();
return false;
}else if((rst != 13)&&!(str)){
alert(msg+"号码格式错误,请输入正确的电话号码!");
();
return false;
}
121
return true;
}
2.06 检测输入是否为正整数数字,如果结果为非给出相应提示
/************************************
Method: checkNumber(controller,message)
purpose: 检测输入是否为正整数数字,如果结果为非给出相应提示
parameters : 控件名称,提示信息
return value : true/false.
condition: controller:must;message:optional
************************************/
function checkNumber(controller,message)
{
var value=;
var count=0;
if (!=0)
{
for (var i=0;i<;i++)
{
if ((i)>"9" || (i)<"0")
{
if(message!=null){
alert(message+":为正整数的数字")
}else{
alert("为正整数的数字");
}
=""; (); return(false);
}
}
}
=value;
return true;
}
2.07 避免多次提交页面 在 jsp 中嵌入该文件,在每个 jsp 页面的提交语句前执
行该方法
/************************************ Method: checkSubmit()
purpose: 避免多次提交页面 在 jsp 中嵌入该文件,在每个 jsp 页面的提交语
句前执行该方法
************************************/
var requestSubmitted = false;
122
function checkSubmit()
{
if(requestSubmitted == true)
{
alert("您已经提交了请求,请等待服务器的应答......");
return false;
}
requestSubmitted =
true;
return true;
}
2.08 检查 EMail 格式
/**********************************************
function: checkEmailAll() purpose: 检查 EMail 格式 parameters : 控件名称
return value : true/false.
**********************************************/
function checkEmailAll(controller){
var strEmail=trim();
var strE="@"; var strI="."; if((" ")>0){
alert("邮件地址不正确");
return false;
}
if((strE)==-1){
alert("邮件地址不正确");
return false;
}
if((strI)==-1){
alert("邮件地址不正确");
return false;
}
var count = 0;
if (!=0){
for (var i=0;i<;i++){
if ((i)=="."){
count++;
}
}
if(count>2){
}
alert("邮件地址不正确");
return false;
}
123
if(count==1){
if(((strI)- (strE)<2)||((strI)==(-1))){
alert("邮件地址不正确");
return false;
}
}
if(count==2){
if((((strI)- (strE)<2)||((strI)- (strI)<2))||((strI)==(-1))){
alert("邮件地址不正确");
return false;
}
}
return true;
}
2.09 电话号码由数字和-组成
/************************************
电话号码由数字和-组成
************************************/
function phoneCheckH(controller,msg) {
var str=trim();
var reg = /^(/d+/-?)+$/; var count=0; if(!=0){
if((-1)=="-"||(0)=="-") count=1;
}
if(count==1){
alert(msg+'不能以"-"开始和结束');
return false;
}else{
if(!(str)){
alert(msg+'号码格式错误,只允许输入 0-9 的数字或者单个"-"!');
();
return false;
}
return true;
}
return true;
}
124
2.10 检验 IP 地址
//检验 IP 地址
function checkIP(str,message){
var re=/^(/d{1,2}|1/d/d|2[0-4]/d|25[0-5])(/.(/d{1,2}|1/d/d|2[0-4]/d|25[0-
5])){3}$/;
if((str)){
return true;
}
else{
}
}
alert(message + "格式错误!");
return false;
2.11 校验忽略样式内容后文本域中的内容是否为空//校验忽略样式内容后文本
域中的内容是否为空
function delTextareaCss(inforcontent) {
// 去除文本中的空白符及'&nbsp;'
var content = (//s*/g,'')
.replace(/(&nbsp;)?/g, '');
// .replace(/[<(.*)>.*<///1>|<(.*) //>]*/g, '');
if(content == null || content == "")
return true;
// 去除'style'标签及标签间的所有代码
if(("<style>") >= 0) {
content = (0, ("<style>"))
+ (("</style>") + 8);
}
// 去除 word2000 中的文档信息
if(("<o:DocumentProperties>") >= 0 ) {
content = (0, ("<o:DocumentProperties>"))
+
(("</o:DocumentProperties>") + 23);
}
// 纯文本内容
if( > 0 && ("<") < 0) {
return false;
}
125
// 在标签结束符'>'后是否为标签开始符'<'
for(i = 0; i < ; i++) {
if(((i, i + 1) == ">" && i != - 1)
&& (i + 1, i + 2) != "<")
return false;
}
return true;
}
2.12 计算天数差的函数
/**********************************************
function: DateDiff(sDate1,sDate2)
purpose: 计算天数差的函数
parameters : sDate1 为结束日期,sDate2 为开始日期
return value : true/false
**********************************************/
function DateDiff(sDate1, sDate2){ //sDate1 和 sDate2 是 2002-12-18 格式
var sDate1=addMonth(sDate1); var sDate2=+"-01"; var aDate, oDate1, oDate2, iDays aDate = ("-")
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) //转换为 12-18-2002 格

aDate = ("-")
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
iDays = parseInt((oDate1 - oDate2) / 1000 / 60 / 60/24)+1; //把相差的毫秒
数转换为天数
if(iDays>366){
alert("开始时间和结束时间的时间差最多为一年!");
return false;
}else return true;
}
2.13 把结束日期月份加上月末日期
/**********************************************
function: addMonth(sDate) purpose: 把结束日期月份加上月末日期 parameters : sDate 为日期
return value : sDate3 加上月末后的日期
**********************************************/
function addMonth(sDate){
var aDate = ("-");
var sDate3;
126
//2 月
if(aDate[1]=="02"){
//闰月
if((0==aDate[0]%4&&aDate[0]%100!=0)||aDate[0]%400==0){
sDate3=aDate[0]+"-"+aDate[1]+"-29";
}else{
sDate3=aDate[0]+"-"+aDate[1]+"-28";
}
}//1,3,5,7,8,10,12 月
else if(aDate[1]=="01"||aDate[1]=="03"||aDate[1]=="05"||aDate[1]=="07"||aDate[1]=="08 "||aDate[1]=="10"||aDate[1]=="12"){
sDate3=aDate[0]+"-"+aDate[1]+"-31";
}//4,6,9,11 月
else{
sDate3=aDate[0]+"-"+aDate[1]+"-30";
}
return sDate3;
}
//校验开始时间不能大于结束时间
//data1 开始时间 data2 结束时间
function compareDate(data1,data2){
if (>){
alert("结束时间应大于开始日期!");
return false;
}else{
return true;
}
}
2.14 检验输入的日期 yyyy-MM
/************************************************
function: checkDate(controller,message) purpose: 检验输入的日期 yyyy-MM parameters : controller 输入的日期
message 提示信息
return value : TRUE / FALSE
*************************************************/
function checkDate(controller,message){
var str=trim();
= str; k=0; for(i=0;i<;i++){
if((i)=="-")
k++;
}
127
if (k!=1){
alert("请输入"+message+"年、月!");
();
return false;
}
var yy="",mm="";
for (i=0;i<=;i++){ if((i)=="-"){ yy=(0,i); mm=(i+1);
}
}
if(!=4){
alert(message+"年份必须为四位数字!");
();
return false;
}
if(>2){
alert(message+"月份必须为一位或两位数字!");
();
return false;
} yy=trim0(yy); mm=trim0(mm); if(!isInt(yy)){
alert(message+"年份必须为数字!");
();
return false;
}
if(parseInt(yy)<1900 || parseInt(yy)>2079 ||(yy=="")){
alert(message+"年份必须在 1900-2079 之间!");
();
return false;
}
if(!isInt(mm)){
alert(message+"月份必须为数字!");
();
return false;
}
if(parseInt(mm)>12 || parseInt(mm)<1||(mm=="")){
alert(message+"月份必须在 1-12 之间!!");
();
return false;
}
return true;
}
//月日去 0
function trim0(str)
{
128
var i,j,result="";
j = ;
for (i=0;i<j;i++)
if ( (i)!='0' ) break;
result = (i,j);
return result;
}
function trim(str)
{
str = this != window? this : str;
return (/^/s+/g, '').replace(//s+$/g, '');
}
//数字检验
function isInt(str){
if(!=0){
for (i=0;i<;i++)
if ( (i)<'0' || (i)>'9')
return false;
}
return true;
}
129