欢迎大家访问我的BLOG,我会多多的出原创文章,希望大家支持我,为我祈祷,让我实现我的三个梦想!再30岁能成为一个名优秀的软件架构师!

函数集合

/*
简    介:验证是否为日期
参    数:将要验证的值
返 回 值:
设 计 者:韩旺
设计日期:2003年4月14日
修改日期:
*/

var iDateDay    = 2;
var iDateMonth  = 1;
var iDateYear   = 0;
function isDate(sDate) 
    
{
    
var bValid = false;
    
var aryDate = changeDate( sDate );    

    
if (aryDate.length != 3return false;
    
    
if ((aryDate[iDateYear].length != 4 || !isInteger(aryDate[iDateYear])) || !isInteger(aryDate[iDateMonth]) || !isInteger(aryDate[iDateDay]))
        
return false;
    
    
if(aryDate[iDateMonth] == 1 && aryDate[iDateDay] <= 31) bValid = true;
    
if(aryDate[iDateMonth] == 2
        
{
        
var bLeapYear = isLeapYear(aryDate[iDateYear]);
        
if(bLeapYear  && aryDate[iDateDay]<=29) bValid = true;
        
if(!bLeapYear && aryDate[iDateDay]<=28) bValid = true;
        }

    
if(aryDate[iDateMonth] == 3  && aryDate[iDateDay] <= 31) bValid = true;
    
if(aryDate[iDateMonth] == 4  && aryDate[iDateDay] <= 30) bValid = true;
    
if(aryDate[iDateMonth] == 5  && aryDate[iDateDay] <= 31) bValid = true;
    
if(aryDate[iDateMonth] == 6  && aryDate[iDateDay] <= 30) bValid = true;
    
if(aryDate[iDateMonth] == 7  && aryDate[iDateDay] <= 31) bValid = true;
    
if(aryDate[iDateMonth] == 8  && aryDate[iDateDay] <= 31) bValid = true;
    
if(aryDate[iDateMonth] == 9  && aryDate[iDateDay] <= 30) bValid = true;
    
if(aryDate[iDateMonth] == 10 && aryDate[iDateDay] <= 31) bValid = true;
    
if(aryDate[iDateMonth] == 11 && aryDate[iDateDay] <= 30) bValid = true;
    
if(aryDate[iDateMonth] == 12 && aryDate[iDateDay] <= 31) bValid = true;

    
return bValid;    
    }

    
function isLeapYear(iYear) 
    
{
    
var bLeap = false;
    
if (iYear <= 0return false;
    
if ((iYear % 4== 0)   bLeap = true;
    
if ((iYear % 100== 0) bLeap = false;
    
if((iYear % 400== 0)  bLeap = true;
    
return bLeap;
    }


function changeDate(sDate)
    
{
    
var aryDate = sDate.split("-");
    
    
if (sDate.length < 8 || aryDate.length != 3)
        

        
for (var i = 0; i < aryDate.length; i++) aryDate[i] = "";
        }

    
return aryDate;
    }

/*
简    介:选择时间
参    数:日期页面,输入框的名字,弹出窗口的名字,弹出窗口宽度,弹出窗口高度
返 回 值:
设 计 者:曹小帆
设计日期:2003年11月26日
修改日期:
*/

function fPopUpDlg(endtarget,ctl,WINname,WINwidth,WINheight){
    
    showx 
=  WINwidth + 200  ; // + deltaX;
    showy = WINheight ; // + deltaY;
    
    newWINwidth 
= WINwidth + 4 + 18;
    
var features =
        'dialogWidth:'  
+ newWINwidth  + 'px;' +
        'dialogHeight:' 
+ WINheight + 'px;' +
        'dialogLeft:'   
+ showx     + 'px;' +
        'dialogTop:'    
+ showy     + 'px;' +
        'directories:no; localtion:no; menubar:no; status
=no; toolbar=no;scrollbars:yes;Resizeable=no';
    
//window.showModalDialog(弹出窗口的URL,窗口名字,窗口特性),按照特性构建窗口
    retval = window.showModalDialog(endtarget, WINname , features );
    
if( retval != null ){
        document.all(ctl).value 
= retval;
    }
else{
        
//alert("canceled");
    }

}

/*
简    介:打开日历选择页面,返回日期串或空串
参    数:将要写入日期值的控件名名称
返 回 值:
设 计 者:曹小帆
设计日期:2003年11月27日
修改日期:
*/

function GetDateEx(controlnamevalue) {
    fPopUpDlg('
/ITPM/pub/calendar.htm', controlnamevalue, 'winpop', 172210)   
}




/*
简    介:验证是否为整数
参    数:将要验证的值
返 回 值:
设 计 者:韩旺
设计日期:2003年4月14日
修改日期:
*/

function isInteger(sValue)
{
    
var sElement = String(sValue)
    
var sPattern = String("-0123456789")
    
for (var i = 0; i < sElement.length; i++)    
    
{
        sSubstring 
= sElement.substring(i, i+1);
        
if (sPattern.indexOf(sSubstring) < 0return false;
    }

    
return true
}


/*
简    介:验证是否为Number
参    数:将要验证的值
返 回 值:
设 计 者:韩旺
设计日期:2003年4月14日
修改日期:
*/

function isNumber(sValue)
{
    
var sElement = String(sValue)
    
var sPattern = String("-.0123456789")
    
if(sElement.split(".").length > 2return false;
    
for (var i = 0; i < sElement.length; i++)    
    
{
        sSubstring 
= sElement.substring(i, i+1);
        
if (sPattern.indexOf(sSubstring) < 0return false;
    }

    
return true
}


/*
简    介:打开日历选择页面,返回日期串或空串
参    数:将要写入日期值的控件名
返 回 值:
设 计 者:韩旺
设计日期:2003年4月14日
修改日期:
*/

function GetDate(controlname) {
   
var datDate;
   
//datDate = window.showModalDialog("/PMWebUI/Calendar.asp","","dialogHeight: 225px; dialogWidth: 170px; center: Yes; help: No; resizable: No; status: No;");
   datDate = window.showModalDialog("/ITPM/Pub/calendar.htm","","dialogHeight: 225px; dialogWidth: 200px; center: Yes; help: No; resizable: No; status: No;");
   
if (datDate!=null)
   
{
      document.all(controlname,
0).value=datDate;
   }

}


//取字符串中字节的长度
function GetLength(InString){
    
return InString.replace(/[^\x00-\xff]/g,"^^").length;
}


/*
简    介:删除列表数据
参    数:1、checkbox的名称,2、存储删除串的控件
返 回 值:
设 计 者:肖育请
适用模块:所有摸块
设计日期:2002年6月3日
修改日期:
*/

function EditDelete(valuename)
{
    
if (window.confirm("你真的要删除所选中的"+j+"条记录吗?")==true)
    
{
        document.all(valuename).submit()
    }

}


function ListDelete(ckname,valuenname) {
    
var bool_return=false;
    
var i,j;
    
var strTemp;
    
var coll = document.all.item(ckname);
    
    j
=0;
    strTemp 
= "";

    
if (coll!=null
    
{
        
if (coll.length!=null)
        
{
            
for (i=0; i<coll.length; i++)
            
{
              
if (coll.item(i).checked==true){j++;}
            }
        
        }

        
else
        
{
          
if (coll.checked==true){j=1;}
        }


    }

    
else
    
{
       
return false;
    }


    
if (j==0)
    
{
      window.alert(
"请选择要删除的记录!");return false
    }

    
else
    
{
       
if (window.confirm("你真的要删除所选中的"+j+"条记录吗?")==true)
       
{
            
if (coll.length!=null)
            
{
                
for (i=0; i<coll.length; i++)
                
{
                    
if (coll.item(i).checked==true)
                    
{
                          
if (strTemp=="")
                        
{
                        strTemp 
= "'" + coll.item(i).value + "'";
                        }

                        
else
                        
{
                        strTemp 
= strTemp + ",'" + coll.item(i).value + "'";
                        }
 
                        
                    }

                }
            
            }

            
else
            
{
               strTemp 
= "'"+coll.value+"'";
            }

        document.all(valuenname,
0).value=strTemp;
        
return true;
       }

       
else
       
{
         
return false;
       }

    }

}




function ListConfirm(ckname,valuenname,infor) {
    
var bool_return=false;
    
var i,j;
    
var strTemp;
    
var coll = document.all.item(ckname);
    
    j
=0;
    strTemp 
= "";

    
if (coll!=null
    
{
        
if (coll.length!=null)
        
{
            
for (i=0; i<coll.length; i++)
            
{
              
if (coll.item(i).checked==true&&coll.item(i).disabled==false){j++;}
            }
        
        }

        
else
        
{
          
if (coll.checked==true&&coll.disabled==false){j=1;}
        }


    }

    
else
    
{
       
return false;
    }


    
if (j==0)
    
{
      window.alert(
"请选择要"+infor+"的记录!");return false
    }

    
else
    
{
       
if (window.confirm("你真的要"+infor+"所选中"+j+"条记录吗?")==true)
       
{
            
if (coll.length!=null)
            
{
                
for (i=0; i<coll.length; i++)
                
{
                    
if (coll.item(i).checked==true&&coll.item(i).disabled==false)
                    
{
                          
if (strTemp=="")
                        
{
                        strTemp 
= "'" + coll.item(i).value + "'";
                        }

                        
else
                        
{
                        strTemp 
= strTemp + ",'" + coll.item(i).value + "'";
                        }
 
                        
                    }

                }
            
            }

            
else
            
{
                
if(coll.disabled==false)
                
{
                strTemp 
= "'"+coll.value+"'";
                }

            }

        document.all(valuenname,
0).value=strTemp;
        
return true;
       }

       
else
       
{
         
return false;
       }

    }

}


/*
简    介:删除列表数据
参    数:1、checkbox的名称,2、存储删除串的控件
返 回 值:
设 计 者:肖育请
适用模块:所有摸块
设计日期:2002年6月3日
修改日期:
*/

function Del(ckname,valuenname) {
    
var bool_return=false;
    
var i,j;
    
var strTemp;
    
var coll = document.all.item(ckname);
    
    j
=0;
    strTemp 
= "";

    
if (coll!=null
    
{
        
if (coll.length!=null)
        
{
            
for (i=0; i<coll.length; i++)
            
{
              
if (coll.item(i).checked==true){j++;}
            }
        
        }

        
else
        
{
          
if (coll.checked==true){j=1;}
        }


    }

    
else
    
{
       
return false;
    }


    
if (j==0)
    
{
      window.alert(
"请选择要删除的记录!");return false
    }

    
else
    
{
       
if (window.confirm("你真的要删除所选中"+j+"条记录吗?")==true)
       
{
            
if (coll.length!=null)
            
{
                
for (i=0; i<coll.length; i++)
                
{
                    
if (coll.item(i).checked==true)
                    
{
                          
if (strTemp=="")
                        
{
                        strTemp 
= "'" + coll.item(i).value + "'";
                        }

                        
else
                        
{
                        strTemp 
= strTemp + ",'" + coll.item(i).value + "'";
                        }
 
                        
                    }

                }
            
            }

            
else
            
{
               strTemp 
= "'"+coll.value+"'";
            }

        document.all(valuenname,
0).value=strTemp;
        
return true;
       }

       
else
       
{
         
return false;
       }

    }

}


/*
简    介:操作列表数据
参    数:1、checkbox的名称,2、存储删除串的控件,3、操作类别提示信息
返 回 值:
设 计 者:肖育请
适用模块:所有摸块
设计日期:2002年10月15日
修改日期:
*/

function OperateList(ckname,valuenname,infor) {
    
var bool_return=false;
    
var i,j;
    
var strTemp;
    
var coll = document.all.item(ckname);
    
if (infor==null){infor="";}
    j
=0;
    strTemp 
= "";

    
if (coll!=null
    
{
        
if (coll.length!=null)
        
{
            
for (i=0; i<coll.length; i++)
            
{
              
if (coll.item(i).checked==true && coll.item(i).disabled==false){j++;}
            }
        
        }

        
else
        
{
          
if (coll.checked==true && coll.disabled==false){j=1;}
        }


    }

    
else
    
{
       
return false;
    }


    
if (j==0)
    
{
      window.alert(
"请选择要"+infor+"的记录!");return false
    }

    
else
    
{
       
if (window.confirm("你真的要"+infor+"所选中"+j+"条记录吗?")==true)
       
{
            
if (coll.length!=null)
            
{
                
for (i=0; i<coll.length; i++)
                
{
                    
if (coll.item(i).checked==true && coll.item(i).disabled==false)
                    
{
                          
if (strTemp=="")
                        
{
                        strTemp 
= "'" + coll.item(i).value + "'";
                        }

                        
else
                        
{
                        strTemp 
= strTemp + ",'" + coll.item(i).value + "'";
                        }
 
                        
                    }

                }
            
            }

            
else
            
{
                
if(coll.disabled==false)
                
{
                strTemp 
= "'"+coll.value+"'";
                }

            }

        document.all(valuenname,
0).value=strTemp;
        
return true;
       }

       
else
       
{
         
return false;
       }

    }

}


/*
简    介:页面加载时初始化datagride中的复选框
参    数:
返 回 值:
设 计 者:肖育清
适用模块:
设计日期:2002年10月31日
修改日期:
*/

function IniDatagridecheck(ckname,valuenname) {
  
var coll = document.all.item(ckname);
  
var r, re,str_temp;
  strTemp 
= window.document.all(valuenname).value;

if (coll!=null)
{
   
if (coll.length!=null)
   
{
           
for (j=0; j<coll.length; j++)
        
{
            re 
= new RegExp(coll.item(j).value);
              
if (strTemp.search(re)>-1)
              
{
              coll.item(j).checked
=true;
              }

        }
   
   }

}

}


/*
简    介:记录datagride中的复选框
参    数:1、checkbox的名称,2、存储删除串的控件
返 回 值:
设 计 者:肖育清
适用模块:
设计日期:2002年10月31日
修改日期:
*/

function SetDatagridecheck(ckname,valuenname) {
 
var coll = document.all.item(ckname);
 
var strTemp = new String();
 
var re;
 
var str_Old = new String();
 
var str_jg=",";
 str_Old 
= window.document.all(valuenname).value;
 strTemp 
="";

//1、清空历史记录中的相关项
if (coll!=null)
{
   
if (coll.length!=null)
   
{
        
for (i=0; i<coll.length; i++)
        
{    
               
try
            
{
                
//,'2770',
            re = new RegExp(",'"+coll.item(i).value+"',");    
            str_Old
=str_Old.replace(re,",");
                
//'2770',    
            re = new RegExp("'"+coll.item(i).value+"',");    
            str_Old
=str_Old.replace(re,"");    
                
//,'2770'
            re = new RegExp(",'"+coll.item(i).value+"'");    
            str_Old
=str_Old.replace(re,"");
            
//'2770'                                  
            re = new RegExp("'"+coll.item(i).value+"'");    
            str_Old
=str_Old.replace(re,"");
                
            }

            
catch(e)
            
{
            str_Old 
= "";
            }

        }

        
//2、重新把选中的项追加到历史记录
            for (i=0; i<coll.length; i++)
            
{
                
if (coll.item(i).checked==true)
                
{
                      
if (strTemp=="")
                    
{
                    strTemp 
= "'" + coll.item(i).value + "'";
                    }

                    
else
                    
{
                    strTemp 
= strTemp + ",'" + coll.item(i).value + "'";
                    }
                 
                }

            }

   }

   
else
   
{
           
try
        
{
            
//,'2770',
        re = new RegExp(",'"+coll.value+"',");    
        str_Old
=str_Old.replace(re,",");
            
//'2770',    
        re = new RegExp("'"+coll.value+"',");    
        str_Old
=str_Old.replace(re,"");    
            
//,'2770'
        re = new RegExp(",'"+coll.value+"'");    
        str_Old
=str_Old.replace(re,"");
        
//'2770'                                  
        re = new RegExp("'"+coll.value+"'");    
        str_Old
=str_Old.replace(re,"");
            
        }

        
catch(e)
        
{
        str_Old 
= "";
        }

        
//2、重新把选中的项追加到历史记录
        if (coll.checked==true)
        
{
              
if (strTemp=="")
            
{
            strTemp 
= "'" + coll.value + "'";
            }

            
else
            
{
            strTemp 
= strTemp + ",'" + coll.value + "'";
            }
     
        }
            
   }

}


if (str_Old.length == 0 || strTemp.length == 0)
{
   str_jg 
= ""
}


window.document.all(valuenname).value 
= str_Old+str_jg+strTemp;

}


/*
简    介:操作datagride中的复选框选中的记录
参    数:1、存储删除串的控件,3、操作类别提示信息
返 回 值:日期串或空串
设 计 者:肖育清
适用模块:
设计日期:2002年10月31日
修改日期:
*/

function OprationDatagridecheck(valuenname,infor) {
    
var i;
    
var str_Temp = new String();
    
var re,ss;
    
var my_array = new Array();
    
    str_Temp 
= window.document.all(valuenname).value;
    re 
= new RegExp(",")
    my_array 
= str_Temp.split(re);
    i 
= my_array.length;
    
    
if (infor==null){infor="";}
    
if (str_Temp.length<1)
    
{
      window.alert(
"请选择要"+infor+"的记录!");return false
    }

    
else
    
{
       
if (window.confirm("你真的要"+infor+"所选中"+i+"条记录吗?")==true)
       
{
           
return true;
       }

       
else
       
{
           
return false;
       }

     }

}


function SetallDatagridecheck(ckname,valuenname,kind) {
   
var coll = document.all.item(ckname);
   
var i;
   
var op_kind;
   
if (kind==0){op_kind=true;}else{op_kind=false;}
   
if (coll!=null)
    
{
        
if (coll.length!=null)
        
{
             
for (i=0; i<coll.length; i++)
            
{    
              coll.item(i).checked
=op_kind;
            }

        }

        
else
        
{
           coll.checked
=op_kind;
        }

    }

    SetDatagridecheck(ckname,valuenname);
}


/*
简    介:清空页面上所以所有的文本域
参    数:1.pForm:from对象
          2.pstrNoClear:不需要清除的对象ID组成的字符串
返 回 值:
设 计 者:周欣峰
设计日期:2003年4月21日
修改日期:2004年2月25日、2004年3月2日
*/

function fuc_ClearForm(pForm,pstrNoClear) {
    
var str_ControlID;
    
for (var i = 0; i < pForm.elements.length; i++)
    
{
        
if ((pForm.elements[i].type == "text" || pForm.elements[i].type == "textarea"&& pForm.elements[i].disabled.toString() == "false")
        
{
            pstrNoClear 
= pstrNoClear.toUpperCase();
            str_ControlID 
= pForm.elements[i].id;
            str_ControlID 
= str_ControlID.toUpperCase();
            
if (pstrNoClear.search(str_ControlID) == -1)
            
{
                pForm.elements[i].value 
= "";
            }

        }

    }

}

/*
简    介:操作列表数据
参    数:1、checkbox的名称,2、存储删除串的控件,3、操作类别提示信息
返 回 值:
设 计 者:肖育请
适用模块:所有摸块
设计日期:2002年10月15日
修改日期:2003年11月8日
*/

function OperateListNoAlert(ckname,valuenname,infor) {
    
var bool_return=false;
    
var i,j;
    
var strTemp;
    
var coll = document.all.item(ckname);
    
if (infor==null){infor="";}
    j
=0;
    strTemp 
= "";

    
if (coll!=null
    
{
        
if (coll.length!=null)
        
{
            
for (i=0; i<coll.length; i++)
            
{
              
if (coll.item(i).checked==true){j++;}
            }
        
        }

        
else
        
{
          
if (coll.checked==true){j=1;}
        }


    }

    
else
    
{
       
return false;
    }


    
if (j==0)
    
{
      window.alert(
"请选择要"+infor+"的记录!");return false
    }

    
else
    
{
            
if (coll.length!=null)
            
{
                
for (i=0; i<coll.length; i++)
                
{
                    
if (coll.item(i).checked==true)
                    
{
                          
if (strTemp=="")
                        
{
                        strTemp 
= "'" + coll.item(i).value + "'";
                        }

                        
else
                        
{
                        strTemp 
= strTemp + ",'" + coll.item(i).value + "'";
                        }
 
                        
                    }

                }
            
            }

            
else
            
{
               strTemp 
= "'"+coll.value+"'";
            }

        document.all(valuenname,
0).value=strTemp;
        
return true;
       
    }

}


function ListAdd(ckname,valuenname) {
    
var bool_return=false;
    
var i,j;
    
var strTemp;
    
var coll = document.all.item(ckname);
    
    j
=0;
    strTemp 
= "";

    
if (coll!=null
    
{
        
if (coll.length!=null)
        
{
            
for (i=0; i<coll.length; i++)
            
{
              
if (coll.item(i).checked==true){j++;}
            }
        
        }

        
else
        
{
          
if (coll.checked==true){j=1;}
        }


    }

    
else
    
{
       
return false;
    }


    
if (j==0)
    
{
      window.alert(
"请选择要添加的记录!");return false
    }

    
else
    
{
            
if (coll.length!=null)
            
{
                
for (i=0; i<coll.length; i++)
                
{
                    
if (coll.item(i).checked==true)
                    
{
                          
if (strTemp=="")
                        
{
                        strTemp 
= "'" + coll.item(i).value + "'";
                        }

                        
else
                        
{
                        strTemp 
= strTemp + ",'" + coll.item(i).value + "'";
                        }
 
                        
                    }

                }
            
            }

            
else
            
{
               strTemp 
= "'"+coll.value+"'";
            }

        document.all(valuenname,
0).value=strTemp;
        
return true;
    }

}

/*
简    介:获得控件时间比较系统时间
参    数:1、控件名称的名称,2、分格符
返 回 值:
设 计 者:彭振球
适用模块:所有摸块
设计日期:2005年05月30日
*/

function CompareTime(controlName,strFormat)
{
    
var timeValue = document.all(controlName).value;
    
var arrTime = timeValue.split(strFormat);
    
var inDate = new Date(arrTime[0],arrTime[1],arrTime[2]);
    
var inDateYear = inDate.getYear();            
    
var inDateMonth = inDate.getMonth();            
    
var inDateDate = inDate.getDate();
    
    
var now = new Date();
    
var year = now.getYear();
    
var month = now.getMonth()+1;
    
var date = now.getDate();
    
    
if( year > inDateYear )
    
{
        
return true;
    }

    
else if( year == inDateYear )
    
{
        
if( month > inDateMonth)
        
{
             
return true;
        }

        
else if( month == inDateMonth)
        
{
            
if(date >= inDateDate)
            
{
                
return true;
            }

            
else
            
{
                
return false
            }

        }

        
else
        
{
            
return false;
        }

    }

    
else
    
{
        
return false;
    }


}

/*
简    介:用于列表方式的选择页面,返回选中记录的关键值
参    数:1.pForm:from对象
          2.pstrRadioID:单选钮ID
返 回 值:选中记录的关键值(字符串)
设 计 者:周欣峰
设计日期:2005年3月22日
修改日期:
*/

function fuc_SelectRadioList(pForm,pstr_RadioID) {
    
var radio_Collection = pForm.item(pstr_RadioID);
    
var str_String = "";

    
if (radio_Collection!=null)
    
{
        
if (radio_Collection.length!=null)
        
{
            
for (i=0;i<radio_Collection.length;i++)
            
{
                
if (radio_Collection.item(i).checked==true)
                
{
                    str_String 
= radio_Collection.item(i).value;
                }

            }
    
        }

        
else
        
{
            str_String 
= pForm.item(pstr_RadioID).value;
        }

    }

//    var strArray = new Array();
    return str_String.split("|");
}



posted on 2006-08-11 13:36  程序缘  阅读(256)  评论(0)    收藏  举报

导航