window.js 判断函数

来源:互联网 发布:球状网络结构 编辑:程序博客网 时间:2024/06/06 01:45

/*====================================
公用函数
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(){};
  }
 }

原创粉丝点击