公用函数
1.left(string,length) 从字符左边起取字符
2.middle(string,start,length) 取字符中间字符
3.right(string,length) 从字符右边起取字符
4.Ltrim(string) 去掉前导空格
5.Rtrim(string) 去掉后续空格
6.trim(string) 去掉前导、后续空格
7.Replace(String,oldChar,newChar) 用newChar替换String中的oldChar
8.ChangeStringIndex(String,i,ch) 用ch替换字符串中第i位
9.split(String,delimiter) 返回基于 0 的一维数组,可x=split(),取x[0]、x[1]的值
10.CheckLength(thisForm,FieldName,Label,minLen,maxLen) 检查某表单域长度合法性,其中thisForm是表单对象(使用this.form),不是表单名
11.CheckInteger(thisForm,FieldName,Label,min,max) 检查某表单域是否为整型,其中thisForm是表单对象,不是表单名,min为最小值,max为最大值
12.CheckFormDateFormat(thisForm,FieldName,Label) 检查某表单域是否为日期型,其中thisForm是表单对象,不是表单名
13.CheckFloat(thisForm,FieldName,Label,min,max) 检查某表单域是否为浮点数字型,其中thisForm是表单对象,不是表单名
14.IsCheckedOne(thisForm,FieldName,Label) 检查一(组)列表框中是否至少选择了一个,thisform为表单对象
15.CheckSelect(thisForm,FieldName,Label) 检查某表单选择是否有效,thisform为表单对象 用于下拉列表
16.IsNumFloat(str) 是否为浮点数字(字符)
17.IsNumInt(str) 是否为整数
18.isWhitespace (s) s是否为空或是空格
19.IsPhone(thisform,FieldName,Lable) 是否为电话号码,thisform为表单对象
20.IsEmail(thisform,FieldName,Lable) 是否为正确电子邮件,thisform为表单对象
21.IsPostalCode(thisform,FieldName,Lable) 是否为邮编,thisform为表单对象
22.getFieldCount(thisForm,FieldName) 在表单thisForm中查找名为FieldName的表单元素的个数
23.FieldSum(thisform,FieldName) 计算表单中相同名字的域的和,thisform为表单对象,这里的thisfield相当于document.formname.fieldname
24.GetFieldValue(thisform,FieldName) 得到页面中某个表单元素的值,不存在返回 "",一个元素返回“aaa”,多个元素时返回“aaa,bbb,ccc”
25.TabDelRow(thistable,rowno) 删除指定行号为rowno的表格行,thistable为表格名
26.deleterow(tb,chk,thisForm) 删除选中行
27.myround(str,sln) 返回将str四舍五入的值,sln代表精确的尾数
28.sel_date(Str_Name,Str_Year,Str_Month,Str_Day)
下拉框形式的日期,传入下拉框名称:Str_Name,
结果为(str_name)_y,(str_name)_m,(str_name)_d,
要显示的日期Str_Year,Str_Month,Str_Day
29.function IsNotPNum(str) 判断是否正数 是:false否: true
30.function PassWordGrade(temp) 判断用户输入的密码级别,分高级,中级,简单
31.function CheckFileSize(filename) 检查文件大小
====================================*/
//------------------------------字符操作函数-----------------------------------
/*====================================
1.从字符左边起取字符
======================================*/
function left(String,length)
{
return String.substr(0,length);
}
/*====================================
2.取字符中间字符
======================================*/
function middle(String,start,length)
{
var from=(start<1)?0:start-1;
return String.substring(from,from+length);
}
/*====================================
3.从字符右边起取字符
======================================*/
function right(String,length)
{
var strlen=String.length;
return middle(String,strlen-length+1,length);
}
/*====================================
4.去掉前导空格
======================================*/
function Ltrim(String)
{
for(var i=0;i<String.length;i++)
if(String.charAt(i)!=' ')
break;
return middle(String,i+1,String.length);
}
/*====================================
5.去掉后续空格
======================================*/
function Rtrim(String)
{
for(var i=String.length-1;i>0;i--)
if(String.charAt(i)!=' ')
break;
return left(String,i+1);
}
/*====================================
6.去掉前导、后续空格
======================================*/
function trim(String)
{
return Rtrim(Ltrim(String));
}
/*====================================
7.用newChar替换String中的oldChar
======================================*/
function Replace(String,oldChar,newChar)
{
var DataStr=new Array();
var newString="";
if(trim(String).length==0)
return String;
DataStr=split(String,oldChar);
for(var i=0;i<DataStr.length;i++)
newString=newString+DataStr[i]+newChar;
newString=left(newString,newString.length-1);
return newString;
}
/*====================================
8.用ch替换字符串中第i位
======================================*/
function ChangeStringIndex(String,i,ch)
{
if(i<1 || i>String.length)
return String;
return left(String,index-1)+ch+right(String,String.length-index);
}
/*====================================
9.返回基于 0 的一维数组,可x=split(),取x[0]、x[1]的值
======================================*/
function split(String,delimiter)
{
var newString=trim(String);
var position=newString.indexOf(delimiter);
var command="var StringArray=new Array(\"";
while(position!=-1)
{
command=command+trim(middle(newString,1,position))+"\",\"";
newString=middle(newString,position+2,newString.length);
position=newString.indexOf(delimiter);
}
command=command+newString+"\");";
eval(command);
return StringArray;
}
//------------------------------验证操作函数-----------------------------------
/*====================================
10.检查某表单域长度合法性
thisForm:表单对象(传入this.form),不是表单名
Label:提示信息传入
minLen:最小长度
maxLen:最大长度
======================================*/
function CheckLength(thisForm,FieldName,Label,minLen,maxLen)
{
//var illegalChar="' " + '" = %';
var illegalChar="' " + '" =';
var thisField;
var fieldValue;
var aIllegalChar=illegalChar.split(" ");
eval("thisField=thisForm."+FieldName);
if(getFieldCount(thisForm,FieldName)>1)
{
for(var i=0;i<thisField.length;i++)
{
fieldValue=trim(thisField[i].value);
if(minLen==1 && fieldValue.length<minLen)
{
alert("<"+Label+">必须填写!")
thisField[i].focus();
return (false);
}
if(fieldValue.length<minLen)
{
alert("在<"+Label+">中,请至少输入 "+minLen+" 个字符");
thisField[i].focus();
return (false);
}
if(fieldValue.length>maxLen)
{
alert("在<"+Label+">中,请至多输入 "+maxLen+" 个字符");
thisField[i].focus();
return (false);
}
/*for(var j=0;j<aIllegalChar.length;j++){
if(fieldValue.indexOf(aIllegalChar[j])!=-1){
alert("在<"+Label+">不能包含字符"+illegalChar);
thisField[i].focus();
return (false);
}
}*/
}
}
if(getFieldCount(thisForm,FieldName)==1)
{
fieldValue=trim(thisField.value);
if(minLen==1 && fieldValue.length<minLen)
{
alert("<" + Label + ">必须填写!")
thisField.focus();
return (false);
}
if(fieldValue.length<minLen)
{
alert("在<"+Label+">中,请至少输入 "+minLen+" 个字符");
thisField.focus();
return (false);
}
if(fieldValue.length>maxLen)
{
alert("在<"+Label+">中,请至多输入 "+maxLen+" 个字符");
thisField.focus();
return (false);
}
for(var j=0;j<aIllegalChar.length;j++){
if(fieldValue.indexOf(aIllegalChar[j])!=-1){
alert("在<"+Label+">不能包含字符"+illegalChar);
thisField.focus();
return (false);
}
}
}
return (true);
}
/*====================================
11.检查某表单域是否为整型,其中thisForm是表单对象,不是表单名
thisForm:表单对象(传入this.form),不是表单名
Label:提示信息传入
min为最小值,max为最大值,不限定上下限传入“*”
======================================*/
function CheckInteger(thisForm,FieldName,Label,min,max)
{
var thisField;
var checkOK = "0123456789-";
eval("thisField=thisForm."+FieldName);
if(getFieldCount(thisForm,FieldName)>1)
{
for(var k=0;k<thisField.length;k++)
{
var checkStr=trim(thisField[k].value);
var allValid = true;
var decPoints = 0;
var allNum = "";
if (checkStr == "")
{
// alert("请在<"+Label+">域中输入值。");
// thisField[k].focus();
// return (false);
continue;
}
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
allNum += ch;
}
if (!allValid)
{
alert("在<"+Label+">中,只能输入数字");
thisField[k].focus();
return (false);
}
var chkVal = allNum;
var prsVal = parseInt(allNum,10);
if (chkVal != "" && min!="*" && !(prsVal >= min))
{
alert("请在<"+Label+">中输入值大于或等于["+min+"]的整数。");
thisField[k].focus();
return (false);
}
if (chkVal != "" &&max!="*" && !(prsVal <= max))
{
alert("请在<"+Label+">中输入值小于或等于["+max+"]的整数。");
thisField[k].focus();
return (false);
}
}
}
if(getFieldCount(thisForm,FieldName)==1)
{
var checkStr=trim(thisField.value);
var allValid = true;
var decPoints = 0;
var allNum = "";
if (checkStr == "")
{
// alert("请在<"+Label+">域中输入值。");
// thisField.focus();
// return (false);
return (true);
}
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length)
{
allValid = false;
break;
}
allNum += ch;
}
if (!allValid)
{
alert("在<"+Label+">中,只能输入数字");
thisField.focus();
return (false);
}
var chkVal = allNum;
var prsVal = parseInt(allNum,10);
if (chkVal != "" && min!="*" && !(prsVal >= min))
{
alert("请在<"+Label+">中输入值大于或等于["+min+"]的整数。");
thisField.focus();
return (false);
}
if (chkVal != "" &&max!="*" && !(prsVal <= max))
{
alert("请在<"+Label+">中输入值小于或等于["+max+"]的整数。");
thisField.focus();
return (false);
}
}
return (true);
}
/*====================================
12.检查某表单域是否为日期型,其中thisForm是表单对象,不是表单名
thisForm:表单对象(传入this.form),不是表单名
Label:提示信息传入
min为最小值,max为最大值,不限定上下限传入“*”
======================================*/
function CheckFormDateFormat(thisForm,FieldName,Label)
{
var thisField;
eval("thisField=thisForm."+FieldName);
if(getFieldCount(thisForm,FieldName)>1)
{
for(var k=0;k<thisField.length;k++)
{
var checkStr=trim(thisField[k].value);
if (CheckDateFormat(checkStr) == false)
{
thisField[k].focus();
return (false);
}
}
}
if(getFieldCount(thisForm,FieldName)==1)
{
var checkStr=trim(thisField.value);
if (CheckDateFormat(checkStr) == false)
{
thisField.focus();
return (false);
}
}
return (true);
}
/*====================================
13.检查某表单域是否为浮点数字型,其中thisForm是表单对象,不是表单名
thisForm:表单对象(传入this.form),不是表单名
Label:提示信息传入
min为最小值,max为最大值,不限定上下限传入“*”
======================================*/
function CheckFloat(thisForm,FieldName,Label,min,max)
{
var thisField;
eval("thisField=thisForm."+FieldName);
if(getFieldCount(thisForm,FieldName)>1)
{
for(var i=0;i<thisField.length;i++)
{
var checkStr=trim(thisField[i].value);
if (checkStr == "")
{
alert("请在<"+Label+">中输入值。");
thisField[i].focus();
return (false);
//continue;
}
var allValid = IsNumFloat(checkStr);
if (!allValid)
{
alert("在<"+Label+">中,只能输入数字");
thisField[i].focus();
return (false);
}
var prsVal = eval(checkStr);
if (checkStr != "" && min!="*" && !(prsVal >= min))
{
alert("请在<"+Label+">中输入值大于或等于["+min+"]的数。");
thisField[i].focus();
return (false);
}
if (checkStr != "" &&max!="*" && !(prsVal <= max))
{
alert("请在<"+Label+">中输入值小于或等于["+max+"]的数。");
thisField[i].focus();
return (false);
}
}
}
if(getFieldCount(thisForm,FieldName)==1)
{
//alert(thisField.value);
var checkStr=trim(thisField.value);
if (checkStr == "")
{
alert("请在<"+Label+">中输入值。");
thisField.focus();
return (false);
//return (true);
}
var allValid = IsNumFloat(checkStr);
if (!allValid)
{
alert("在<"+Label+">中,只能输入数字");
thisField.focus();
return (false);
}
var prsVal = eval(checkStr);
if (checkStr != "" && min!="*" && !(prsVal >= min))
{
alert("请在<"+Label+">中输入值大于或等于["+min+"]的数。");
thisField.focus();
return (false);
}
if (checkStr != "" &&max!="*" && !(prsVal <= max))
{
alert("请在<"+Label+">中输入值小于或等于["+max+"]的数。");
thisField.focus();
return (false);
}
}
return (true);
}
/*====================================
14.检查一(组)列表框中是否至少选择了一个,thisform为表单对象
======================================*/
function IsCheckedOne(thisForm,FieldName,Label)
{
var thisField;
var fcount=getFieldCount(thisForm,FieldName);
eval("thisField=thisForm."+FieldName);
if(fcount<1)
{
alert("页面中没有可以选择的"+Label+">!");
return false;
}
if(fcount==1 && thisField.checked==false)
{
alert("必须选择一个<"+Label+">!");
return false;
}
if(fcount>1)
{
for(var i=0;i<fcount;i++)
if(thisField[i].checked)
break;
if(i==fcount)
{
alert("必须选择一个<"+Label+">!");
return false;
}
}
return true;
}
/*====================================
15.检查某表单选择是否有效,thisform为表单对象 用于下拉列表
=======================================*/
function CheckSelect(thisForm,FieldName,Label)
{
var thisField;
eval("thisField=thisForm."+FieldName);
if(getFieldCount(thisForm,FieldName)>1)
{
for(var i=0;i<thisField.length;i++)
{
if(thisField[i].selectedIndex==0)
{
alert("请选择<" + Label +">!")
thisField[i].focus();
return false;
}
}
}
if(getFieldCount(thisForm,FieldName)==1)
{
if(thisField.selectedIndex==0)
{
alert("请选择<" + Label +">!")
thisField.focus();
return false;
}
}
return (true);
}
/*====================================
16.是否为浮点数字(字符)
=======================================*/
function IsNumFloat(str)
{
i=0;
j=0;
k=0;
if(str+""=="")
{
return false;
}
while(i<str.length)
{
if ( (str.charAt(i)<'0'||str.charAt(i)>'9') && str.charAt(i)!='.' && str.charAt(i)!='-' )
return false;
if (str.charAt(i)=='.') j++;
if (str.charAt(i)=='-') k++;
i++;
}
if (j>1) return(false);
if (k>1) return(false);
return true;
}
/*====================================
17.是否为整数
=======================================*/
function IsNumInt(str)
{
i=0;
j=0;
while(i<str.length)
{
if ( (str.charAt(i)<'0' || str.charAt(i)>'9') && str.charAt(i)!='-' )
return false;
if (str.charAt(i)=='-') j++;
i++;
}
if (j>1) return(false);
return true;
}
/*====================================
18.是否为空或是空格
=======================================*/
function isWhitespace (s)
{
var whitespace = " \t\n\r";
if ((s == null) || (s.length == 0)) return true;
var i;
for (i = 0; i < s.length; i++)
{
var c = s.charAt(i);
if (whitespace.indexOf(c) != -1)
continue;
else
return false;
}
return true;
}
/*====================================
19.是否为电话号码
=======================================*/
function IsPhone(thisform,FieldName,Lable)
{
var digits = "0123456789-()/;转 ";
var i=0;
var j=0;
var thisfield;
var fcount;
thisfield=eval("thisform."+FieldName);
fcount=getFieldCount(thisform,FieldName);
if(fcount==1)
{
str=trim(thisfield.value);
if(str=="")
return (true);
while ((i < str.length))
{
if (digits.indexOf(str.charAt(i)) == -1)
{
alert("<"+Lable+">输入不正确!");
thisfield.focus();
return false;
}
i++;
}
if (i<6)
{
alert("<"+Lable+">输入不正确!");
thisfield.focus();
return false;
}
}
if(fcount>1)
{
for(var k=0;k<fcount;k++)
{
i=0;
j=0;
str=trim(thisfield[k].value);
if(str=="")
continue;
while ((i < str.length))
{
if (digits.indexOf(str.charAt(i)) == -1)
{
alert("<"+Lable+">输入不正确!");
thisfield[i].focus();
return false;
}
i++;
}
if (i<6)
{
alert("<"+Lable+">输入不正确!");
thisfield[i].focus();
return false;
}
}
}
return true;
}
/*====================================
20.是否为正确电子邮件
=======================================*/
function IsEmail(thisform,FieldName,Lable)
{
var thisfield;
var fcount;
var i;
var j;
thisfield=eval("thisform."+FieldName);
fcount=getFieldCount(thisform,FieldName);
if(fcount==1)
{
str=trim(thisfield.value);
if(str=="")
{
alert("<"+Lable+">不能为空!")
thisfield.focus();
return false;
//return (true);
}
i=str.indexOf("@");
if (i<=1)
{
alert("<"+Lable+">输入不正确!")
thisfield.focus();
return false;
}
else
{
str_tmp=str.substring(i,str.length);
j=str_tmp.indexOf(".");
if (j<=1 || j==str_tmp.length-1)
{
alert("<"+Lable+">输入不正确!")
thisfield.focus();
return false;
}
}
}
if(fcount>1)
{
for(var k=0;k<fcount;k++)
{
str=trim(thisfield[k].value);
if(str=="")
continue;
i=str.indexOf("@");
if (i<=1)
{
alert("<"+Lable+">输入不正确!")
thisfield[k].focus();
return false;
}
else
{
str_tmp=str.substring(i,str.length);
j=str_tmp.indexOf(".");
if (j<=1 || j==str_tmp.length-1)
{
alert("<"+Lable+">输入不正确!")
thisfield[k].focus();
return false;
}
}
}
}
return true;
}
/*====================================
21.是否为邮编
=======================================*/
function IsPostalCode(thisform,FieldName,Lable)
{
var thisfield;
var fcount;
var i;
var j;
thisfield=eval("thisform."+FieldName);
fcount=getFieldCount(thisform,FieldName);
if(fcount==1)
{
str=trim(thisfield.value);
if(str=="")
return (true);
if ( !(str.length==6 && IsNumInt(str)) )
{
alert("<"+Lable+">输入不正确!")
thisfield.focus();
return false;
}
}
if(fcount>1)
{
for(var k=0;k<fcount;k++)
{
str=trim(thisfield[k].value);
if(str=="")
continue;
if ( !(str.length==6 && IsNumInt(str)) )
{
alert("<"+Lable+">输入不正确!")
thisfield[k].focus();
return false;
}
}
}
return true;
}
//------------------------------操作函数-----------------------------------
/*====================================
22.在表单thisForm中查找名为FieldName的表单元素的个数
=======================================*/
function getFieldCount(thisForm,FieldName)
{
var fieldcount=0;
for(var i=0;i<thisForm.length;i++)
{
var formfield=thisForm.elements[i];
if(formfield.name==FieldName)
fieldcount++;
}
return fieldcount;
}
/*====================================
23.计算表单中相同名字的域的和
=======================================*/
function FieldSum(thisform,FieldName)
{
var FSum=0;
var thisfield;
if(getFieldCount(thisform,FieldName)==0)
return "";
if(getFieldCount(thisform,FieldName)==1)
{
//这里的thisfield相当于document.formname.fieldname
eval("thisfield=thisform."+FieldName);
if(IsNumFloat(thisfield.value)&& trim(thisfield.value).length>0)
return eval(thisfield.value);
else
return "";
}
eval("thisfield=thisform."+FieldName);
for(var i=0;i<thisfield.length;i++)
{
if(IsNumFloat(thisfield[i].value)&& trim(thisfield[i].value).length>0)
{
FSum=FSum+eval(thisfield[i].value);
}
}
return FSum;
}
/*====================================
24.得到页面中某个表单元素的值
不存在返回 ""
一个元素返回一个值“yyyy”
多个元素时返回按“,”分隔的字符串 如:“ddd,ttt,aaa”
=======================================*/
function GetFieldValue(thisform,FieldName)
{
var c=getFieldCount(thisform,FieldName)
if (c+""=="")
return "";
if (c==1)
{
eval("thisField=thisform."+FieldName);
return thisField.value;
}
else
{
eval("thisField=thisform."+FieldName);
var FieldValue=""
var NewFieldValue=""
for (i=0;i<c;i++)
{
var ccc=thisField[i].value;
FieldValue=FieldValue + "," + ccc
}
NewFieldValue=middle(FieldValue,2,FieldValue.length);
return NewFieldValue;
}
}
/*====================================
25.删除指定行号的表格行
=======================================*/
function TabDelRow(thistable,rowno)
{
var i;
var rows;
var check;
table=eval('document.all.'+ thistable);
rows=table.rows.length-1;
if(rows<0)
alert('表格没有该行!');
else
{
if( (rows>=rowno) && (rowno>=0) )
{
table.deleteRow(rowno);
}
else
{
alert('表格没有该行!');
}
}
}
/*====================================
26.删除选中行
=======================================*/
function deleterow(tb,chk,thisForm)
{
var i;
var rows;
var check;
var objitemnum;
var str;
var beChecked=false;
var bDeleted=false;
var table=eval(tb);
rows=table.rows.length-1;
if(rows==0)
alert('没有记录');
else
{
if (rows==1)
{
check=eval(thisForm+'.'+chk)
if(eval(thisForm+'.'+chk+'.length')==1)
check=eval(thisForm+'.'+chk+'[0]')
if(check.checked)
{
table.deleteRow(1);
beChecked = true;
bDeleted=true;
}
}
else
for(i=rows;i>0;i--)
{
check=eval(thisForm+'.'+chk+'['+(i-1)+']')
if(check.checked)
{
table.deleteRow(i);
beChecked = true;
bDeleted=true;
}
}
if (!beChecked) alert("请选择");
}
}
/*====================================
27.返回将str四舍五入的值,sln代表精确的尾数
=======================================*/
function myround(str,sln)
{
var idx;
var po;
//不是数值,不处理
str=str.toString();
if(isNaN(parseFloat(str)))
return null;
if(isNaN(parseInt(sln,10)))
return null;
idx=str.indexOf(".");
idx2=str.length-idx-1;
//没有小数点,补齐适当的0
if(idx<=0)
{
str=str+".";
for(i=0;i<sln;i++)
str=str+'0';
return str;
}
if(idx2<sln)
{
for(i=0;i<sln-idx2;i++)
str=str+'0';
return str;
}
po=Math.pow(10,parseInt(sln,10)+1);
str2=str.substr(0,parseInt(idx,10)+parseInt(sln,10)+2);
int2=parseInt(parseFloat(str2)*po,10);
if(int2 % 10>=5)
int2=int2+10;
str3=(int2/po).toString();
str3=str3.substr(0,parseInt(idx,10)+parseInt(sln,10)+1);
return str3;
}
/*====================================
28.下拉框形式的日期,传入下拉框名称:Str_Name,
结果为(str_name)_year,(str_name)_month,(str_name)_day,
要显示的日期Str_Year,Str_Month,Str_Day
=======================================*/
function sel_date(Str_Name,Str_Year,Str_Month,Str_Day)
{
today=new Date(Str_Year,Str_Month,Str_Day);
var str="<SELECT name="+Str_Name+"_y>";
for(var i=today.getYear()-10;i<today.getYear()+20;i++){
if(i==today.getYear()) str=str + "<option selected value=" + i + ">" + i + "</option>";
else str=str + "<option value=" + i + ">" + i + "</option>";
}
str=str+"</SELECT>年";
var str=str + "<SELECT name="+Str_Name+"_m>";
for(var i=1;i<13;i++){
if(i==today.getMonth()) str=str + "<option selected value=" + i + ">" + i + "</option>";
else str=str + "<option value=" + i + ">" + i + "</option>";
}
str=str+"</SELECT>月";
var str=str + "<SELECT name="+Str_Name+"_d>";
for(var i=1;i<32;i++){
if(i==today.getDate()) str=str + "<option selected value=" + i + ">" + i + "</option>";
else str=str + "<option value=" + i + ">" + i + "</option>";
}
str=str+"</SELECT>日";
document.write(str);
}
/*====================================
29.判断是否正数
是:false
否: true
==========================================*/
function IsNotPNum(str)
{
var returnValue = false;
if(str=="")
{
returnValue = true;
}
else
{
if (isNaN(str))
returnValue = true;
var temp = parseFloat(str);
if(isNaN(temp))
{
returnValue = true;
}
if ( temp < 0.0 )
{
returnValue = true;
}
}
return returnValue;
}
/*====================================
30.校验年的输入格式
==========================================*/
function checkYear(theText){
if (theText.value == ""||!IsNumInt(theText.value)||IsNotPNum(theText.value)){
alert("年份信息必须为不含字符的正整数!");
theText.focus();
theText.select();
return false;
}
if(theText.value.length!=4){
alert("年份信息必须为4位正整数");
theText.focus();
theText.select();
return false;
}
var d= new Date();
if(theText.value>2100||theText.value<d.getYear()){
alert("年份必须为大于等于"+d.getYear()+"小于2100");
theText.focus();
theText.select();
return false;
}
return true;
}
/*====================================
31.校验月的输入格式
==========================================*/
function checkMonth(theText){
if (theText.value == ""||!IsNumInt(theText.value)||IsNotPNum(theText.value)){
alert("月份信息必须为不含字符的正整数!");
theText.focus();
theText.select();
return false;
}
if(theText.value.length>2){
alert("月份信息必须为1或2位正整数");
theText.focus();
theText.select();
return false;
}
if(theText.value>12){
alert("月份不能大于12");
theText.focus();
theText.select();
return false;
}
return true;
}
/*====================================
32.校验天的输入格式
==========================================*/
function checkDay(theText){
if (theText.value == ""||!IsNumInt(theText.value)||IsNotPNum(theText.value)){
alert("日期信息必须为不含字符的正整数");
theText.focus();
theText.select();
return false;
}
if(theText.value.length>2){
alert("日期信息必须为1或2位正整数");
theText.focus();
theText.select();
return false;
}
if(theText.value>31){
alert("日期不能大于31");
theText.focus();
theText.select();
return false;
}
return true;
}
/*====================================
33.校验小时的输入格式
==========================================*/
function checkHour(theText){
if (theText.value == ""||!IsNumInt(theText.value)||IsNotPNum(theText.value)){
alert("小时信息必须为不含字符的正整数!");
theText.focus();
theText.select();
return false;
}
if(theText.value.length>2){
alert("小时信息必须为1或2位正整数!");
theText.focus();
theText.select();
return false;
}
if(theText.value>23){
alert("小时不能大于23!");
theText.focus();
theText.select();
return false;
}
return true;
}/*====================================
34.校验分钟的输入格式
==========================================*/
function checkMin(theText){
if (theText.value == ""||!IsNumInt(theText.value)||IsNotPNum(theText.value)){
alert("分钟信息必须为不含字符的正整数");
theText.focus();
theText.select();
return false;
}
if(theText.value.length>2){
alert("分钟信息必须为1或2位正整数");
theText.focus();
theText.select();
return false;
}
if(theText.value>59){
alert("分钟不能大于59");
theText.focus();
theText.select();
return false;
}
return true;
}
/*====================================
35.取得时间
==========================================*/
function constructDate(form,Str,flag){
var arrdate;
eval("dateVar=form" + "." + Str + 'Date.value');
arrdate=dateVar.split("-");
yearVar=parseInt(arrdate[0],10)
monthVar=parseInt(arrdate[1],10)-1
dayVar=parseInt(arrdate[2],10)
if(flag==1){
eval("hourVar=parseInt(form"+"."+Str+'Hour.value)');
eval("minuteVar=parseInt(form"+"."+Str+'Min.value)');
var date=new Date(yearVar,monthVar,dayVar,hourVar,minuteVar);
}
else var date=new Date(yearVar,monthVar,dayVar);
//alert(date)
return date;
}
/*
显示弹出的选择窗口
*/
function PopWindow(url,left,top,width,height){
showx =left;
showy =top;
window.open(url,'','left='+ showx + ',top=' + showy +',width='+ width + ',height='+ height +',resizable=yes,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no');
}
/*
选择选择框对应的项目
*/
function ChooseItem(){
var i;
var strShowobj;
var strHideobj;
var Showobj;
var Hideobj;
var k=-1;
for(i=0;i<document.all.length;i++){
if(document.all[i].id=="chkHid" && document.all[i].checked){
k=i;
break;
}
}
if(k==-1){
alert('请选择!');
return false;
}
strShowobj=document.all("objShow").value.toString();
strShowobj="window.opener.document.all(\"" + strShowobj + "\")"
Showobj=eval(strShowobj);
Showobj.value=window.document.all[k+1].value;
window.close();
}
function ClearText(){
var strShowobj;
var Showobj;
strShowobj=document.all("objShow").value.toString();
strShowobj="window.opener.document.all(\"" + strShowobj + "\")"
Showobj=eval(strShowobj);
Showobj.value="";
window.close();
}
function HaveChar(str,theChar)
{
if(str.indexOf(theChar) == -1)
{
return false;
}
else
{
return true;
}
}
function ReplaceChar(thisForm,FieldName,count,theChar)
{
if(count>0)
{
var ss = /,/g;
if(count>1)
{
for(var i=0;i<count;i++)
{
var thisField = eval(thisForm+"."+FieldName+"["+i+"]");
thisField.value = thisField.value.replace(ss,'$');
}
}
else
{
var thisField = eval(thisForm+"."+FieldName);
thisField.value = thisField.value.replace(ss,'$');
}
}
}
function PassWordGrade(temp)
{
var i,j,k,l;
var pd1,pd11,pd12,pd3;
pd1 = true; pd11=true; pd12=true ; pd3 = false;
i=temp.length;
//判断是否为简单密码(所有字符相同)
for(j=0;j<i;j++)
{
for(k=j+1;k<i;k++)
{
if(temp.charAt(j)!=temp.charAt(k))
{
pd1 = false;
break;
}
}
}
//是否为顺序递增密码
for(j=0;j<i-1;j++)
{
if(temp.charCodeAt(j)+1!=temp.charCodeAt(j+1))
{
pd11 = false;
break;
}
}
//是否为顺序递减号码
for(j=0;j<i-1;j++)
{
if(temp.charCodeAt(j)-1!=temp.charCodeAt(j+1))
{
pd12 = false;
break;
}
}
if(temp.length<6)
{
pd1 = true;
pd11 = true;
pd12 = true;
}
//判断是否为高级密码(数字与字母间隔)
j=0;
var isnum =0;
var iszm = 0;
for(l=0;l<i;l++)
{
/*
if(
(((temp.charAt(l)>='a')&&(temp.charAt(l)<='z'))||((temp.charAt(l)>='A')&&(temp.charAt(l)<='Z')))&&((temp.charAt(l+1)>='0')&&(temp.charAt(l+1)<='9'))||
((temp.charAt(l)>='0')&&(temp.charAt(l)<='9'))&&(((temp.charAt(l+1)>='a')&&(temp.charAt(l+1)<='z'))||((temp.charAt(l+1)>='A')&&(temp.charAt(l+1)<='A')))
)
{
j=j+1;
}
*/
if (temp.charCodeAt(l)>=48 && temp.charCodeAt(l) <=57)
{
isnum +=1;
}
if ((temp.charCodeAt(l)>=65 && temp.charCodeAt(l) <=90)||(temp.charCodeAt(l)>=97 && temp.charCodeAt(l) <=122)) //大写字母
{
iszm += 1;
}
}
if(isnum>0 && iszm > 0&&temp.length>=6)
{
pd3=true;
}
var returnValue = "";
if(pd1||pd11||pd12)
{
//alert('您输入的密码过于简单');
returnValue = '<font color=red><b>简单</b></font>';
}
if(pd3)
{
//alert('高级密码');
returnValue = '<font color=green><b>高级</b></font>';
}
if(returnValue=="")
{
//alert('中级密码');
returnValue = '<font color=blue><b>中级</b></font>';
}
return returnValue
}
//判断是否为高级密码
function IsHighGradePassWord(theForm,FieldName,focusField)
{
var returnValue = true;
var thisfield=eval(FieldName);
var focusField = eval("theForm."+focusField);
var temp = thisfield.innerHTML.indexOf("高级");
if(temp==-1)
{
//alert('密码输入请严格按照先字母后数字规则,如a1b2c3');
//focusField.focus();
//returnValue = false;
}
return returnValue;
}
//检查文件名
function CheckFileSize(filename)
{
//var filename=Form1.btnUpload.value;
if(filename=='')
{
alert('请选择一个文件');
return false;
}
try
{
//alert(1);
var ado_stream = new ActiveXObject("ADODB.Stream");
//1=adTypeBinary;2=adTypeText
//ado_stream.Type=2;
ado_stream.Open();
ado_stream.LoadFromFile(filename);//将文件信息存入流
var fileLimit = 31457280;//限制文件大小,30M
if(ado_stream.Size>fileLimit)
{
alert("文件大于30M,请重新选择");
return false;
}
//alert(2);
}
catch(e)
{
window.confirm(e);
return false;
}
return true;
}
//检查文件长度
function CheckFileSize1(fileName)
{
var fileSize = getFileSize(fileName);
var fileLimit = 31457280;//限制文件大小,30M
if(fileSize>fileLimit)
{
alert("文件大于30M,请重新选择");
return false;
}
else
{
return true;
}
}
function getFileSize (fileName) {
if (document.layers)
{
if (navigator.javaEnabled())
{
var file = new java.io.File(fileName);
if (location.protocol.toLowerCase() != 'file:')
netscape.security.PrivilegeManager.enablePrivilege('UniversalFileRead' );
return file.length();
}
else
return -1;
}
else if (document.all)
{
window.oldOnError = window.onerror;
window.onerror = function (err)
{
if (err.indexOf('utomation') != -1)
{
alert('请选择同意交互操作');
window.location.reload();
return true;
}
else
return false;
};
var fso = new ActiveXObject('Scripting.FileSystemObject');
var file = fso.GetFile(fileName);
window.onerror = window.oldOnError;
return file.Size;
}
}
function getRequest()
{
var pageRequest = false;
if (window.XMLHttpRequest) // if Mozilla, Safari etc
{
pageRequest = new XMLHttpRequest()
}
else if (window.ActiveXObject){ // if IE
try {
pageRequest = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
pageRequest = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
return pageRequest;
}
//循环替换所有匹配字符
function ReplaceAll(str1,str2,str3)
{
//str1 总字符串
//str2 被替换
//str3 替换
if(str1.indexOf(str2)==-1)
{
return str1;
}
else
{
str1 = str1.replace(str2,str3);
}
return(ReplaceAll(str1,str2,str3));
}
function $(_sId){return document.getElementById(_sId);}
function moveStart (event, _sId){
var oObj = $(_sId);
oObj.onmousemove = mousemove;
oObj.onmouseup = mouseup;
oObj.setCapture ? oObj.setCapture() : function(){};
oEvent = window.event ? window.event : event;
var dragData = {x : oEvent.clientX, y : oEvent.clientY};
var backData = {x : parseInt(oObj.style.top), y : parseInt(oObj.style.left)};
function mousemove(){
var oEvent = window.event ? window.event : event;
var iLeft = oEvent.clientX - dragData["x"] + parseInt(oObj.style.left);
var iTop = oEvent.clientY - dragData["y"] + parseInt(oObj.style.top);
oObj.style.left = iLeft;
oObj.style.top = iTop;
dragData = {x: oEvent.clientX, y: oEvent.clientY};
}
function mouseup(){
var oEvent = window.event ? window.event : event;
oObj.onmousemove = null;
oObj.onmouseup = null;
if(oEvent.clientX < 1 || oEvent.clientY < 1 || oEvent.clientX > document.body.clientWidth || oEvent.clientY > document.body.clientHeight){
oObj.style.left = backData.y;
oObj.style.top = backData.x;
}
oObj.releaseCapture ? oObj.releaseCapture() : function(){};
}
}