//
根據檢索項設置下拉框選擇項
function control_selectedIndex(select_object,select_item)
{
???????? for(i=0;i<select_object.options.length;i++){
?????????????????? if(select_object.options(i).value == select_item){
??????????????????????????? select_object.selectedIndex = i ;
??????????????????????????? break;
?????????????????? }
???????? }
}
//
檢查日期是否合法
function check_Date(input, pattern) {
???????? var right_chars = "0123456789"+pattern;
???????? for(var i=0; i < input.length; i++){
???????? if(right_chars.indexOf(input.charAt(i)) == -1)
???????? ??? return false;
???????? }
???????? var pos1 = input.indexOf(pattern);
???????? var pos2 = input.lastIndexOf(pattern);
???????? if (pos1 == -1) {
?????????????????? return false;
???????? } else if (pos1 != -1 && pos1 == pos2) {
?????????????????? return false;
???????? }
???????? var yyyy = parseInt(input.substring(0, pos1), 10);
???????? var mm = parseInt(input.substring(pos1+1, pos2), 10);
???????? var dd = parseInt(input.substring(pos2+1, input.length), 10);
???????? if (isNaN(yyyy) || isNaN(mm) || isNaN(dd)) {
?????????????????? return false;
???????? }
???????? if (mm < 1 || mm > 12) {
?????????????????? return false;
???????? }
???????? var maxDay = 30;????? //
缺省為小月
???????? if (mm == 2) {
?????????????????? if ((yyyy%4) == 0) {???? //(4
的倍數但不是
100
的倍數
)?
或者
(4
的倍數,
100
的倍數,
400
的倍數
)
??????????????????????????? if ((yyyy%100) == 0) {
???????????????????????????????????? if ((yyyy%400) == 0) {
?????????????????????????????????????????????? maxday = 29;??? //
閏月
???????????????????????????????????? }
???????????????????????????????????? else {
?????????????????????????????????????????????? maxDay = 28;?? //
平月
???????????????????????????????????? }
??????????????????????????? }
??????????????????????????? else {
???????????????????????????????????? maxDay = 29;?? //
閏月
??????????????????????????? }
?????????????????? }
?????????????????? else {
??????????????????????????? maxDay = 28;?? //
平月
?????????????????? }
???????? }
???????? //
大月
???????? else if (mm == 1 || mm == 3 || mm == 5 || mm == 7 || mm == 8 || mm == 10 || mm == 12) {
?????????????????? maxDay = 31;
???????? }
???????? if (dd < 1 || dd > maxDay) {
?????????????????? return false;
???????? }
???????? return true;
}
//
檢查輸入是否為數字
/*function isNumber() {
???????? var fNum = 0 ;
???????? var num = "0123456789"+".";
???????? var sNum = event.srcElement.value ;
???????? for(var i=0; i < sNum.length; i++){
?????????????????? if(num.indexOf(sNum.charAt(i)) == -1)
?????????????????? {
??????????????????????????? alert("
輸入數據不合法
!");
??????????????????????????? event.srcElement.focus();
??????????????????????????? return false;
?????????????????? }
?????????????????? if(sNum.charAt(i)=="."){
??????????????????????????? fNum++ ;
?????????????????? }
???????? }
???????? if(fNum > 1){
?????????????????? alert("
小數點位置不合法
!");
?????????????????? event.srcElement.focus();
?????????????????? return false;
???????? }
???????? return true;
}*/
//
得到字符串長度
function getStringLength(sParam){
???????? var iNum = sParam.length ;
???????? var sTmp ;
???????? var iReturn = 0 ;
???????? if(sParam==null || sParam == ""){
?????????????????? return iReturn ;
???????? }
???????? for(var i=0;i<iNum;i++){
?????????????????? sTmp = sParam.substring(i,i+1);
?????????????????? if (/[^\x00-\xff]/g.test(sTmp)){
??????????????????????????? iReturn += 2 ;
?????????????????? }else{
??????????????????????????? iReturn += 1 ;
?????????????????? }
???????? }
???????? return iReturn ;
}
//
判斷
TextArea
域
function checkTextArea(areaName)
{
???????? if(getStringLength(areaName.value)>areaName.MaxLen)
???????? {????????????????
?????????????????? alert(areaName.Caption+"
最多只能輸入
"+areaName.MaxLen+"
字符。
");
?????????????????? areaName.focus();
?????????????????? areaName.select();
?????????????????? return false;
???????? }
???????? else
?????????????????? return true;
}
/*
????????
函數名稱:
trim
????????
函數功能
:
去除字符串頭部和尾部的空格
????????
傳入參數:字符串變量
????????
傳出結果:處理后的子串
*/
function trim(str){
???????? return str.replace(/(^\s*)|(\s*$)/g, "");
}
/*?
函數功能:判斷傳入參數是否為
yyyy-mm-dd
或
??????????????????????????? ? yyyy/mm/dd
格式的正確日期
??????????????????????????? ?
??????????????????????????? ?
如果是,則返回一個對應的日期對象
??????????????????????????? ?
如果否,則返回
false
*/
function isDate(strDate){
???????? var regYear = /\d{4}[-/]/g;??? //year pattern
???????? var regMonth;?????????????????????
???????? var regDay =? /\d{1,2}/g;;
???????? var chrSeperator;
???????? var arr,str;
???????? if ((arr = regYear.exec(strDate)) == null)
?????????????????? return false;
???????? var intYearlen = arr.lastIndex - arr.index - 1;
???????? if (arr.index != 0 || (intYearlen != 4 && intYearlen != 2))
?????????????????? return false;
???????? str = arr[0];
???????? chrSeperator = str.charAt(str.length - 1);? // get the seperator ('-' or '/')
???????? intYear = parseInt(str.substr(0, str.length - 1));? // get the year
???????? if (intYear < 1900 || intYear > 2099) ?//Error Year
?????????????????? return false;
???????? strDate = strDate.substr(arr.lastIndex);
???????? if (chrSeperator == "-")
?????????????????? regMonth = /\d{1,2}[-]/g;
???????? else
?????????????????? regMonth = /\d{1,2}[/]/g;
???????? if ((arr = regMonth.exec(strDate)) == null)
?????????????????? return false;
???????? if (arr.index != 0)
?????????????????? return false;
???????? str = arr[0];
???????? if (str.charAt(0) == '0') {
?????????????????? intMonth = parseInt(str.substr(1, str.length - 2)); // get the month
???????? } else {
?????????????????? intMonth = parseInt(str.substr(0, str.length - 1)); // get the month
???????? }
???????? if (intMonth < 1 || intMonth > 12) //Error Month
?????????????????? return false;
???????? strDate = strDate.substr(arr.lastIndex);
???????? if ((arr = regDay.exec(strDate)) == null)
?????????????????? return false;
???????? if (arr.index != 0 || arr.lastIndex != strDate.length)
?????????????????? return false;
???????? str = arr[0];
???????? if (str.charAt(0) == '0') {
?????????????????? intDay = parseInt(str.substr(1, str.length - 1)); // get the day
???????? } else {
?????????????????? intDay = parseInt(str); // get the day
???????? }???????
???????? if (intDay < 1 || intDay > 31)? //Error Day
?????????????????? return false;
???????? datDate = new Date(intYear, intMonth - 1, intDay); //Test the Date
???????? if (isNaN(datDate))? //Error Date Format
?????????????????? return false;
???????? if (datDate.getMonth() != intMonth - 1 || datDate.getDate() != intDay)? //invalid date such as '1999/02/29' and '1999/04/31'
?????????????????? return false;
???????? return datDate;? //Return the Date in parsed format
}
/*
????????
函數名稱:
isint
????????
函數功能
:
判斷是否整數
*/
function isInt(n) {
???????? var i = parseInt(n);
???????? if (i == NaN) {
?????????????????? return false;
???????? }
???????? if (i != n * 1){
?????????????????? return false;
???????? }
???????? return true;
}
/*
????????
函數名稱:
isDecimal
????????
函數功能
:
判斷是否小數
*/
function isDecimal(str,f,n) {
??? var p=str.indexOf(".");
??? var int,flt;
??? if (p<0) { p=str.length ;}
??? int=str.substr(0,p);
??? flt=str.substr(p+1);
??? if (isInt(int)==false) {
?????? return false;
??? }
??? if (flt!='') {
?????? if (isInt(flt)==false) {
????????? return false;
?????? }
??? }
??? if ((int.length > f-n) || (flt.length > n)) {
?????? return false;
??? }
??? return true;
}
/*
????????
函數功能
:
判斷是否正確郵件形式
*/
function isMail(str) {
??? var a=str.indexOf("@")+1;
??? var p=str.indexOf(".")+1;
??? if(str.indexOf("'") > 0)
?????????????????? return false;
???????? if(str.indexOf('"') > 0)
?????????????????? return false;
??? if (a<2)
?????? return false;???
??? if (p<1)
?????? return false;???
??? if (p<a+2)
?????? return false;???
??? if (str.length==p)
?????? return false;??????????
??? return true;
}
/*
????????
函數功能
:
判斷是否浮點數
*/
function isFloat(str) {
???????? var ch=str.charAt(0);
???????? if( ch == "." ) return false;
??? for (var i=0; i < str.length; i++)
???????? {??????? ch=str.charAt(i);
?????????????????? if ((ch != ".") && (ch != "0") && (ch != "1") && (ch != "2") && (ch != "3") && (ch != "4") && (ch != "5") && (ch != "6") && (ch != "7") && (ch != "8") && (ch != "9"))??
??????????????????????????? return false;
???????? }
??? return true;
}
/*
????????
函數功能
:
判斷是否數字
*/
function isNumber(str) {
??? for (var i=0; i < str.length; i++)
???????? {??????? var ch=str.charAt(i);
?????????????????? if ((ch != "0") && (ch != "1") && (ch != "2") && (ch != "3") && (ch != "4") && (ch != "5") && (ch != "6") && (ch != "7") && (ch != "8") && (ch != "9"))????????
??????????????????????????? return false;
???????? }
??? return true;
}
/*
????????
函數功能
:
判斷是否電話號碼形式
*/
function isPhone(str){
???????? var intIndex;
???????? var intCharCount;
???????? for(intIndex = 0; intIndex < str.length; intIndex++){
?????????????????? if(str.charCodeAt(intIndex) < 32)
??????????????????????????? return false;
?????????????????? if(str.charCodeAt(intIndex) == 34)
??????????????????????????? return false;
?????????????????? if(str.charCodeAt(intIndex) == 39)
??????????????????????????? return false;
?????????????????? if(str.charCodeAt(intIndex) > 126)
??????????????????????????? return false;
???????? }
???????? return true;
}
/*
????????
函數名稱:
checkString()
????????
函數功能
:
不能包含
&
、’、”、
<
、
>
、
:
、
;
等特殊字符
;
??????????????????
合法字符:
32
(空格)、
48~57
(數字)、
65~90
(大寫字符)、
95
(下劃線)、
97~122
(小寫字符)、
>127
(漢字)。
????????
創建時間:
????????
傳入參數:字符串變量
????????
傳出結果:處理后的子串
*/
function checkString(str){
???????? var strChar = str;
???????? var isValid = true;
???????? for (var i = 0; i < str.length; i++){
?????????????????? if ( (str.charCodeAt(i) == 32) || ((str.charCodeAt(i) >= 48) && (str.charCodeAt(i) <= 57)) || ((str.charCodeAt(i) >= 65) && (str.charCodeAt(i) <= 90)) || (str.charCodeAt(i) == 95) || ((str.charCodeAt(i) >= 97) && (str.charCodeAt(i) <= 122)) || (str.charCodeAt(i) > 127) ) {
??????????????????????????? // do nothing?????????????????????????????????
?????????????????? } else {
??????????????????????????? isValid = false;
??????????????????????????? break;
?????????????????? }
???????? }
???????? return isValid;
}
//
禁止鼠標右鍵功能
,RightMouseDownFun
函數名(處理右鍵功能)
//document.onmousedown=CancelRightMouseDown;
function CancelRightMouseDown()
{
???? if(event.button==2)
?????????????????? {???????
??????????????????????????? if(!window.RightMouseDownFun){//
如果不存在右鍵事件處理函數,禁止右鍵快捷菜單
???????????????????????????????????? //alert(location.href);//
測試用
???????????????????????????????????? //location.reload();
???????????????????????????????????? document.oncontextmenu=Function("return false;");
??????????????????????????? }
??????????????????????????? else RightMouseDownFun();
?????????????????? }
}
//
窗口最大化
function window.onfocus(){
???????? var Pass=true;
???????? var inputPass="";
???????? var str="";
???????? if(!top.window.IfFullScr&&top.window.SetScrMax){
?????????????????? if(top.window.ScrPass!=""){
??????????????????????????? Pass=false;
??????????????????????????? while(!Pass&&inputPass!==null){
?????????????????? ?????????????????? inputPass=prompt("
請輸入正確密碼解開鎖定
"+str,"");
???????????????????????????????????? Pass=(inputPass==top.window.ScrPass);
???????????????????????????????????? if(!Pass) str="
,密碼錯誤!
";
??????????????????????????? }
?????????????????? }
?????????????????? else Pass=confirm("
將窗口最大化?
");
?????????????????? if(Pass) top.window.SetScrMax();
?????????????????? else top.window.SetScrMin();
???????? }
}
function document.onkeydown(){//
按
F1
調出使用幫助
???????? var Key;
???????? Key=event.keyCode;
????????
???????? if(Key=="113"){//
按
F2
顯示桌面
?????????????????? top.mainFrame.location.href="/Desktop.asp";
?????????????????? return false;
???????? }
???????? return true;
}
/**********************************************************************************
??????????????????????????????????????????????????????????????????????????
列表項目處理函數集
選擇下拉列表項目
obj????????????
列表對象
value????????
目標項目值
*/
function OptionSelect(obj,value){
???????? var flags=false;
???????? var i;
???????? //alert("hello");
???????? obj=eval(obj);
???????? for (i=0;flags||i<obj.options.length ;i++ )
???????? {
?????????????????? if (obj.options[i].value==value)
?????????????????? {
??????????????????????????? obj.options[i].selected=true;
??????????????????????????? flags=true;
?????????????????? }
???????? }
}
//
把已選擇的項目,從一個列表移至另外一個列表
,
并刪除選擇項
function SelectMove(obj1,obj2){
???????? var sOption;
???????? for(var i=0;i<obj1.length;){
?????????????????? if(obj1[i].selected){
??????????????????????????? sOption=new Option(obj1[i].text,obj1[i].value);
??????????????????????????? obj2.add(sOption);
??????????????????????????? obj1.remove(i);
?????????????????? }
?????????????????? else i++;
???????? }
}
//
轉移所有項目
function SelectMoveAll(obj1,obj2){
???????? SelectAll(obj1);
???????? SelectMove(obj1,obj2);
}
//
把列表中所有項目標記為選擇狀態
function SelectAll(obj){
???????? for (var i=0;i<obj.length ;i++ )
???????? {
?????????????????? obj[i].selected=true;
???????? }
}
function AddOption(InputName, ListName)
{
???????? var val = document.all(InputName).value;
???????? if (val == "") return;
???????? var bFound=false;
???????? var List = document.all(ListName);
???????? var ListLen = List.options.length;
???????? if( ListLen > 0)
???????? {
?????????????????? for(i = 0; i < ListLen; i++)
?????????????????? {
???????? ?????????????????? if( List.options(i).value == val )
??????????????????????????? {
???????????????????????????????????? bFound=true;
???????????????????????????????????? break;
??????????????????????????? }
?????????????????? }
???????? }
???????? if(!bFound)
???????? {
?????????????????? var oOption=document.createElement("OPTION");
?????????????????? oOption.text=val;
?????????????????? oOption.value=val;
?????????????????? List.add(oOption);
???????? }
}
function AddOptionItemTest(SourceListName, DestListName)
{
???????? var SourceList = document.all(SourceListName);
???????? var bFound;
???????? var List = document.all(DestListName);
???????? var ListLen;
???????? var SourceListLen = SourceList.options.length;
???????? var DestListLen=List.options.length;
???????? var OptionArrayText =new Array();
???????? var OptionArrayValue=new Array();
????????
???????? for(j=0;j<DestListLen;j++)????????? {
?????????????????? OptionArrayText(j)=List.options(j).text;
?????????????????? OptionArrayValue(j)=List.options(j).value;
???????? }
???????? for (j=SourceListLen-1; j>=0; j--)
???????? ? if (SourceList.options(j).selected) {
?????????????????? val = SourceList.options(j).value;
?????????????????? text = SourceList.options(j).text;
?????????????????? ListLen = List.options.length;
?????????????????? bFound = false;
?????????????????? if( ListLen > 0)
?????????????????? {
??????????????????????????? for(i = 0; i < ListLen; i++)
??????????????????????????? {
???????????????????????????????????? if( OptionArrayValue(i) == val )
???????????????????????????????????? {
?????????????????????????????????????????????? bFound=true;
?????????????????????????????????????????????? break;
???????????????????????????????????? }
??????????????????????????? }
?????????????????? }
?????????????????? if(!bFound)
?????????????????? {
??????????????????????????? var oOption=document.createElement("OPTION");
??????????????????????????? oOption.text=text;
??????????????????????????? oOption.value=val;
??????????????????????????? List.add(oOption);
??????????????????????????? SourceList.remove(j);
?????????????????? }
???????? }
}
function AddOptionItem(SourceListName, DestListName)
{
???????? var SourceList = document.all(SourceListName);
???????? var bFound;
???????? var List = document.all(DestListName);
???????? var ListLen;
???????? var SourceListLen = SourceList.options.length;
????????
????????
???????? for (j=SourceListLen-1; j>=0; j--)
???????? ? if (SourceList.options(j).selected) {
?????????????????? val = SourceList.options(j).value;
?????????????????? text = SourceList.options(j).text;
?????????????????? ListLen = List.options.length;
?????????????????? bFound = false;
?????????????????? if( ListLen > 0)
?????????????????? {
??????????????????????????? for(i = 0; i < ListLen; i++)
??????????????????????????? {
???????????????????????????????????? if( List.options(i).value == val )
???????????????????????????????????? {
?????????????????????????????????????????????? bFound=true;
?????????????????????????????????????????????? break;
???????????????????????????????????? }
??????????????????????????? }
?????????????????? }
?????????????????? if(!bFound)
?????????????????? {
??????????????????????????? var oOption=document.createElement("OPTION");
??????????????????????????? oOption.text=text;
??????????????????????????? oOption.value=val;
??????????????????????????? List.add(oOption);
??????????????????????????? SourceList.remove(j);
?????????????????? }
???????? }
}
function DelOption(ListName)
{
???????? var List = document.all(ListName);
???????? var ListLen = List.options.length;
???????? for(i = ListLen - 1; i >= 0; i--)
???????? {
?????????????????? if( List.options(i).selected )
?????????????????? {
??????????????????????????? List.remove(i);
?????????????????? }
???????? }
}
function DelAllOption(ListName)
{
???????? var List = document.all(ListName);
???????? var ListLen = List.options.length;
???????? for(i = ListLen - 1; i >= 0; i--)
???????? {
?????????????????? List.remove(i);
???????? }
}
/*************************************************************************************/
//
打開一個非模態窗口
function PopUpDlg(FileName,WINname,WINwidth,WINheight){
????????
???????? var features =
?????????????????? 'dialogWidth:'? + WINwidth? + 'px;' +
?????????????????? 'dialogHeight:' + WINheight + 'px;' +
?????????????????? 'directories:no; localtion:no; menubar:no; status=no; toolbar=no;scrollbars:yes;Resizeable=no;help=no';
??????????????????
???????? //window.showModalDialog(FileName, WINname , features );
???????? window.showModelessDialog(FileName, WINname , features );
????????
}
//
數據驗證:是否為空
function isNull(value){
???????? if(value=="") return true;
???????? if(value.match("\\S")==null) return true;
???????? return false;
}
//
判斷是否正確的
E-mail
格式
function isMail(value){
???????? if( value.match("\\w{1,}@\\w{1,}.\\w{1,}")!=null) return true;
???????? else return false;
}
//
判斷是否整數
function isInt(value){
???????? if(value.match("\\D")==null) return true;
???????? else return false;
}
//
判斷是否數字
function isNumber(value){
???????? if(!isNaN(value)) return true;
???????? else return false;
}
//
清除左空格
function LTrim(value){
???????? if(isNull(value)) return "";
???????? return value.substring(value.indexOf(" "),value.length-1);
}
//
清除右空格
function RTrim(value){
???????? if(isNull(value)) return "";
}
//
判斷是否包含特殊字符
function incSpecialChar(value){
???????? if(value.match("`~!@#$%^&*()+-=|\\/")!=null) return true;
???????? else return false;
}
//
比較兩日期對象的大小
function compareTimeObj(sDateObj,eDateObj)
{
//
兩日期對象的格式要求是:
1
、必須一致,
2
、
yyyy-MM-dd
???????? var r = sDateObj.value.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
? if(r==null)return false;
? var sDate= new Date(r[1], r[3]-1, r[4]);
????????
???????? r = eDateObj.value.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
? if(r==null)return false;
? var eDate= new Date(r[1], r[3]-1, r[4]);
????????
???????? if(sDateObj.value > eDateObj.value) return 1;
???????? else if(sDateObj.value == eDateObj.value) return 0;
???????? else? return -1;
}
//
比較兩日期對象的大小
function compareObj(sDateObj,eDateObj)
{
???????? //
兩日期對象的格式要求是:
1
、必須一致,
2
、
yyyy-MM-dd hh:mi:ss
???????? var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
???????? var r = sDateObj.value.match(reg);
???????? var sDate= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
???????? r = eDateObj.value.match(reg);
???????? var eDate= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
????????
???????? if(sDateObj.value > eDateObj.value) return 1;
???????? else if(sDateObj.value == eDateObj.value) return 0;
???????? else? return -1;
}
//求兩段時間的差
function diffTimeObj(sDateObj,eDateObj)
?{
????????? var oldtimestr=sDateObj.value;
????????? var oldlist = oldtimestr.split('-');
??????????var oldtime = new Date(oldlist[0],oldlist[1],oldlist[2]);?
????????? var newtimestr=eDateObj.value;
????????? var newlist = newtimestr.split('-');
??????????var newtime = new Date(newlist[0],newlist[1],newlist[2]);
??????????var diff_s = newtime - oldtime;
??????????var diff_d = (((diff_s/1000)/60)/60)/24;
??????????if(diff_d > document.all.diffmonth.value*30)
???????????{
??????????????????? ?return 1;
???????????}
???????????else
????????????{
??????????????????????return 0;
????????????}
}
//window.open輸出內容
?function openNewWind ()
? {
?????newWind = window.open('','','height=250,width=750');
???? setTimeout('loadContext()',100);
?}
function 'loadContext()
?{
???? var output='';
?????output+='<html><head><title>....</title></head><body>';
?????output+='<table style=font:12px><tr><td>';
?????output+=document.all.the_help.value;
?????output+='</td></tr></table>';??
?????output+='</body></html>';
?????newWind.document.write(output);
?????newWind.document.close();
}