函数集合
/*
简 介:验证是否为日期
参 数:将要验证的值
返 回 值:
设 计 者:韩旺
设计日期: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 != 3) return 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 <= 0) return 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', 172, 210)
}


/*
简 介:验证是否为整数
参 数:将要验证的值
返 回 值:
设 计 者:韩旺
设计日期: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) < 0) return false;
}
return true
}
/*
简 介:验证是否为Number
参 数:将要验证的值
返 回 值:
设 计 者:韩旺
设计日期:2003年4月14日
修改日期:
*/
function isNumber(sValue)
{
var sElement = String(sValue)
var sPattern = String("-.0123456789")
if(sElement.split(".").length > 2) return false;
for (var i = 0; i < sElement.length; i++)
{
sSubstring = sElement.substring(i, i+1);
if (sPattern.indexOf(sSubstring) < 0) return 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("|");
}




浙公网安备 33010602011771号