js中有哪些常用腳本,不多說懂的自然懂
2022-11-21 加入收藏
這些都是工作的時候用到的,希望以后都可以用到
// “”:,。!; typeof(objectName) == ''undefined''
// 定義常量 ------------------------------------------------------------------------
var TxtReadOnlyBgColor = "#EEEEEE" // 當輸入框是Readonly屬性時的背景色
/*====================函數說明部六=======================================================================================================================
1、JIsNumberText(txtName,sLabel) ◆→檢查指定Text輸入框的值是否是數值型數據 舉例◆→if(!JIsNumberText(txtGrade,"成績")) return;
2、JIsNumber(sNumber) ◆→檢查sNumber字符串是否是數值型數據
3、JFormatNumber(rNumber,iDec) ◆→將數值rNumber保留iDec位小數點進行格式化輸出
4、JGetDays(iYear,iMonth) ◆→用于求解iYear年iMonth月份的天數
5、JIsDate(sDate) ◆→檢查sDate字符串是否是日期型數據
6、JIsTime(sTime) ◆→檢查sTime字符串是否是時間型數據
7、JFormatDate(sDate,sSplit) ◆→將日期型串sDate轉換成標準格式"YYYY-MM-DD"的日期型串;
8、JFormatTime(sTime,sSplit) ◆→將時間型串sTime轉換成標準格式"HH:MM:SS"的時間型串;
9、JCheckTxtIsDate(txtName,sLabel) ◆→檢查文本框txtName內的數據是否是日期型數據
10、JCheckTxtIsTime(txtName,sLabel) ◆→檢查文本框txtName內的數據是否是時間型數據
11、JGetCurrentDate() ◆→獲取系統的當前日期(日期格式是"YYYY-MM-DD")
12、JGetCurrentCnDate() ◆→獲取系統的當前日期(日期格式是"YYYY年MM月DD日")
13、JGetCurrentTime() ◆→獲取系統的當前時間(時間格式是"HH:MM:SS")
14、JInitYearSelect(iBefore,iAfter,selName) ◆→初始化相關年Select(下拉框)
15、JInitDateSelect(iYear,iMonth,selName) ◆→初始化iYear年iMonth月的日期的Select中的Option,
16、JCorrectChar(txtName,sLabel,sCorrectStr) ◆→判斷Text文本輸入框的值是否在合法字符串sCorrectStr中
17、JTextEmpty(txtName,sLabel) ◆→判斷一個文本輸入框txtName的值是否為空;
18、JLTrim(sString) ◆→對sString字符串進行前空格截除
19、JRTrim(sString) ◆→對sString字符串進行后空格截除
20、JTrim(sString) ◆→對sString字符串進行前后空格截除
21、JLen(sString) ◆→測試字符串sString的長度;
22、JCopy(sString,iStart,iCount) ◆→復制字符串sString從iStart開始iCount個長度
23、JSplitId(sId_Name) ◆→提取[]內的數據
24、JToUpperCase() ◆→自動將輸入文本框中的內容轉換成大寫字符
25、JToLowerCase() ◆→自動將輸入文本框中的內容轉換成小寫字符
26、JNumberText() ◆→限制文本輸入框中只能輸入數字"0"到"9",".","-"
27、reOpenWin(sUrl,pw,ph) ◆→打開一個居中的窗口,并返回打開的窗口名稱
28、reOpenWinSc(sUrl,pw,ph) ◆→打開一個居中的窗口并帶有豎滾動條,并返回打開的窗口名稱
29、checkLen(obj,iLen,desc) ◆→檢測輸入的內容長度是否大小規定的長度
30、winCenter() ◆→窗口居中
31、selNotEmpty(obj,sLabel) ◆→檢測下拉框必須選擇其中一條
32、fucusWin(winName) ◆→焦點定在傳入的窗口中
33、closeWin(winName) ◆→關閉窗口
34、JNotInputEnter() ◆→限制輸入回車鍵
35、JIntNumText() ◆→限制文本輸入框中只能輸入整型數據[0-9] 舉例◆→<Input OnKeyPress="JIntNumText()">
36、JInputLetter() ◆→限制文本輸入框中只能輸入字母[A-Za-z]
37、JInputTel() ◆→限制文本輸入框中只能輸入電話內容[0-9]、-、(),
38、JInputDate() ◆→限制文本輸入框中只能輸入日期內容[0-9]、-、/,
39、JIsIntNum() ◆→判斷傳的文件框的內容是否為整數
====================================================================================================*/
// ==================================================================================
// 第一部分 數值函數
// ==================================================================================
//-----------------------------------------------------------------------------------
//1.1 本函數用于檢查指定Text輸入框的值是否是數值型數據
// txtName : 文本輸入框對象
// sLabel : 文本輸入框的標簽名稱;如:年齡,數量等
//-----------------------------------------------------------------------------------
function JIsNumberText(txtName,sLabel)
{
var strTemp = "";
if (isNaN(txtName.value) || (txtName.value.length == 0))
{
strTemp = "“" + sLabel + "”必須是數值型數據。";
window.alert(strTemp) ;
txtName.value = "0";
txtName.select() ;
return false ;
}
else
{
return true ;
}
}
//------------------------------------------------------------------------------
//1.2 本函數用于檢查sNumber字符串是否是數值型數據
//------------------------------------------------------------------------------
function JIsNumber(sNumber)
{
if (isNaN(sNumber) || (sNumber.length == 0))
{ return false ; }
else
{ return true ; }
}
// -----------------------------------------------------------------------------
//1.3 本函數用于將數值rNumber保留iDec位小數點進行格式化輸出
// -----------------------------------------------------------------------------
function JFormatNumber(rNumber,iDec)
{
var sResult,sTemp,i ;
var iInt ; // 整數部分
var iDig ; // 小數部分
if (iDec <= 0) //保留的小數點位數小于或等于0
{
sResult = Math.round(rNumber) ;
}
else
{
iInt = Math.floor(rNumber) ;
iDig = rNumber - iInt ;
iDig = Math.round(iDig * Math.pow(10,iDec)) ;
if (iDig >= Math.pow(10,iDec)) // 當小數點部分四舍五入后向整數位進位時
{
iInt = iInt + 1 ;
iDig = 0 ;
}
if (iDig == 0) // 當小數點部分為0是補0
{
sTemp = "" ;
for (i = 1;i <= iDec ; i++) { sTemp = sTemp + ''0''; }
sResult = iInt + "." + sTemp ;
}
else
{
if (iDig < Math.pow(10,iDec - 1))
{
sTemp = "" ;
for (i = 1 ; i <= iDec - 1 ; i ++)
{
if (iDig < Math.pow(10,i)) { sTemp = sTemp + "0" ; }
}
sResult = iInt + "." + sTemp + iDig ;
}
else
{
sResult = iInt + "." + iDig ;
}
}
}
return sResult ;
}
// ==================================================================================
// 第二部分 日期相關函數
// ==================================================================================
// ----------------------------------------------------------------------------------
//2.1 本函數用于用于求解iYear年iMonth月份的天數
// ----------------------------------------------------------------------------------
function JGetDays(iYear,iMonth)
{
var StartDate,EndDate,iStart,iEnd,iDays ;
switch (iMonth)
{
case 1: return 31 ;
case 3: return 31 ;
case 5: return 31 ;
case 7: return 31 ;
case 8: return 31 ;
case 10: return 31 ;
case 12: return 31 ;
case 4: return 30;
case 6: return 30;
case 9: return 30;
case 11: return 30;
case 2:
StartDate = new Date(iYear,1 ,1) ;
iStart = StartDate.getTime() ;
EndDate = new Date(iYear,2,1) ;
iEnd = EndDate.getTime() ;
iDays = iEnd - iStart ;
iDays = iDays / 1000 / 60 / 60 / 24 ;
return Math.round(iDays) ;
break ;
}
}
//------------------------------------------------------------------------------
//2.2 本函數用于檢查sDate字符串是否是日期型數據
//------------------------------------------------------------------------------
function JIsDate(sDate)
{
var sArray,sTemp ;
var i,i1 = 0,i2 = 0 ;
var iYear,iMonth,iDay ;
sArray = sDate.split("") ;
if (sDate == "")
{
return false ;
}
else
{
for (i = 0; i <= sArray.length - 1 ; i ++)
{
if ((i1 == 0) && (sArray[i] == "-")) { i1 = i ; continue ;}
if (i1 > 0 && i2 == 0 && sArray[i] == "-" ) { i2 = i; break ; }
}
if (i1 > 0 && i2 > 0)
{
sTemp = JCopy(sDate,0,i1) ;
if (JIsNumber(sTemp)) //判斷年是否是數字型數據
{ iYear = parseInt(sTemp,10) ; }
else
{ return false ;}
sTemp = JCopy(sDate,i1 + 1, i2 - i1 - 1) ;
if (JIsNumber(sTemp))
{
iMonth = parseInt(sTemp,10) ;
if (iMonth <= 0 || iMonth >= 13)
{ return false ;}
}
else
{ return false ;}
sTemp = JCopy(sDate,i2 + 1,sDate.length - i2 + 1) ;
if (JIsNumber(sTemp))
{
iDay = parseInt(sTemp,10) ;
if (iDay <= 0 || iDay > JGetDays(iYear,iMonth))
{ return false ;}
}
else
{ return false ;}
}
else
{
return false ;
}
}
return true ;
}
//------------------------------------------------------------------------------
//2.2 本函數用于檢查sTime字符串是否是時間型數據
//------------------------------------------------------------------------------
function JIsTime(sTime)
{
var sArray,sTemp ;
var i,i1 = 0,i2 = 0 ;
var iHour,iMin,iSecond ;
sArray = sTime.split("") ;
if (sTime == "")
{
return false ;
}
else
{
for (i = 0; i <= sArray.length - 1 ; i ++)
{
if ((i1 == 0) && (sArray[i] == ":")) { i1 = i ; continue ;}
if (i1 > 0 && i2 == 0 && sArray[i] == ":" ) { i2 = i; break ; }
}
if (i1 > 0)
{
sTemp = JCopy(sTime,0,i1) ;
if (JIsNumber(sTemp)) //判斷年是否是數字型數據
{
iHour = parseInt(sTemp,10) ;
if (iHour < 0 || iHour >= 24) { return false ;}
}
else
{ return false ;}
if (i2 > 0)
{
sTemp = JCopy(sTime,i1 + 1, i2 - i1 - 1) ;
if (JIsNumber(sTemp))
{
iMin = parseInt(sTemp,10) ;
if (iMin < 0 || iMin >= 60) { return false ;}
}
else
{ return false ;}
sTemp = JCopy(sTime,i2 + 1,sTime.length - i2 + 1) ;
if (sTemp != "")
{
if (JIsNumber(sTemp))
{
iSecond = parseInt(sTemp,10) ;
if (iSecond < 0 || iSecond >= 60) { return false ;}
}
else
{ return false ;}
}
}
}
else
{
sTemp = sTime ;
if (JIsNumber(sTemp)) //判斷年是否是數字型數據
{
iHour = parseInt(sTemp,10) ;
if (iHour < 0 || iHour >= 24) { return false ;}
}
else
{ return false ;}
}
}
return true ;
}
// ----------------------------------------------------------------------------------
//2.3 本函數用于將日期型串sDate轉換成標準格式"YYYY-MM-DD"的日期型串;
// 其中參數sSplit是分割字符串;
// ----------------------------------------------------------------------------------
function JFormatDate(sDate,sSplit)
{
var sArray ;
var i,i1 = 0,i2 = 0 ;
var iYear,iMonth,iDay ;
sArray = sDate.split("") ;
for (i = 0; i <= sArray.length - 1 ; i ++)
{
if ((i1 == 0) && (sArray[i] == "-")) { i1 = i ; continue ;}
if (i1 > 0 && i2 == 0 && sArray[i] == "-" ) { i2 = i; break ; }
}
if (i1 > 0 && i2 > 0)
{
iYear = parseInt(JCopy(sDate,0,i1),10)
iMonth = parseInt(JCopy(sDate,i1 + 1, i2 - i1 - 1),10)
iDay = parseInt(JCopy(sDate,i2 + 1,sDate.length - i2 + 1),10)
}
sTemp = iYear + sSplit ;
if (iMonth < 10) { sTemp = sTemp + "0" + iMonth + sSplit ;}
else { sTemp = sTemp + iMonth + sSplit ;}
if (iDay < 10) { sTemp = sTemp + "0" + iDay ;}
else { sTemp = sTemp + iDay ;}
return sTemp ;
}
// ----------------------------------------------------------------------------------
//2.3 本函數用于將時間型串sTime轉換成標準格式"HH:MM:SS"的時間型串;
// 其中參數sSplit是分割字符串;
// ----------------------------------------------------------------------------------
function JFormatTime(sTime,sSplit)
{
var sArray ;
var i,i1 = 0,i2 = 0 ;
var iHour,iMin,iSecond ;
sArray = sTime.split("") ;
for (i = 0; i <= sArray.length - 1 ; i ++)
{
if ((i1 == 0) && (sArray[i] == ":")) { i1 = i ; continue ;}
if (i1 > 0 && i2 == 0 && sArray[i] == ":" ) { i2 = i; break ; }
}
if (i1 > 0 && i2 > 0) // 時/分/秒均有值
{
iHour = parseInt(JCopy(sTime,0,i1),10) ;
iMin = parseInt(JCopy(sTime,i1 + 1, i2 - i1 - 1),10) ;
iSecond = parseInt(JCopy(sTime,i2 + 1,sTime.length - i2 + 1),10) ;
}
if (i1 > 0 && i2 <= 0) // 只有時/分有值
{
iHour = parseInt(JCopy(sTime,0,i1),10) ;
iMin = parseInt(JCopy(sTime,i1 + 1,sTime.length - i1 + 1),10) ;
iSecond = 0 ;
}
if (i1<= 0 && i2<= 0) //只有時有值
{
iHour = parseInt(sTime,10) ;
iMin = 0 ;
iSecond = 0 ;
}
if (! JIsNumber(iHour)) { iHour = 0 ; }
if (! JIsNumber(iMin)) { iMin = 0 ; }
if (! JIsNumber(iSecond)) { iSecond = 0 ; }
if (iHour < 10) { sTemp = "0" + iHour + sSplit ;}
else { sTemp = iHour + sSplit ; }
if (iMin < 10) { sTemp = sTemp + "0" + iMin + sSplit ;}
else { sTemp = sTemp + iMin + sSplit ;}
if (iSecond < 10) { sTemp = sTemp + "0" + iSecond ;}
else { sTemp = sTemp + iSecond ;}
return sTemp ;
}
//------------------------------------------------------------------------------
//2.4 本函數用于檢查文本框txtName內的數據是否是日期型數據
//------------------------------------------------------------------------------
function JCheckTxtIsDate(txtName,sLabel)
{
var sValue ;
sValue = JLTrim(JRTrim(txtName.value)) ;
if (JIsDate(sValue))
{
txtName.value = JFormatDate(sValue,"-") ;
return true ;
}
else
{
strTemp = "“" + sLabel + "”的值<" + txtName.value + ">不是合法的日期型數據。" + unescape("nn") ;
strTemp = strTemp + "合法的日期型數據格式是:<YYYY-MM-DD>或<YYYY-M-D>。" + unescape("nn") ;
strTemp = strTemp + "如:<2000年4月23日>可寫成<2000-04-23>或<2000-4-23>。"
window.alert(strTemp) ;
txtName.select() ;
txtName.focus() ;
return false ;
}
}
//------------------------------------------------------------------------------
//2.4 本函數用于檢查文本框txtName內的數據是否是時間型數據
//------------------------------------------------------------------------------
function JCheckTxtIsTime(txtName,sLabel)
{
var sValue ;
sValue = JLTrim(JRTrim(txtName.value)) ;
if (JIsTime(sValue))
{
txtName.value = JFormatTime(sValue,":") ;
return true ;
}
else
{
strTemp = "“" + sLabel + "”的值<" + txtName.value + ">不是合法的時間型數據。" + unescape("nn") ;
strTemp = strTemp + "合法的時間型數據格式是:<HH:MM:SS>或<HH-M-S>。" + unescape("nn") ;
strTemp = strTemp + "如:<20時8分2秒>可寫成<20:08:02>或<20:8:2>。"
window.alert(strTemp) ;
txtName.select() ;
txtName.focus() ;
return false ;
}
}
// ----------------------------------------------------------------------------------
//2.5 本函數用于獲取系統的當前日期(日期格式是"YYYY-MM-DD")
// ----------------------------------------------------------------------------------
function JGetCurrentDate()
{
var iYear,iMonth,iDate,Today,sDate ;
Today = new Date() ;
iYear = Today.getYear() ;
iMonth = Today.getMonth() + 1 ;
iDate = Today.getDate() ;
sDate = String(iYear) ;
if (iMonth < 10)
{
sDate = sDate + "-0" + String(iMonth) ;
}
else
{
sDate = sDate + "-" + String(iMonth) ;
}
if (iDate < 10)
{
sDate = sDate + "-0" + String(iDate) ;
}
else
{
sDate = sDate + "-" + String(iDate) ;
}
return sDate ;
}
// ----------------------------------------------------------------------------------
//2.6 本函數用于獲取系統的當前日期(日期格式是"YYYY年MM月DD日")
// ----------------------------------------------------------------------------------
function JGetCurrentCnDate()
{
var iYear,iMonth,iDate,Today,sDate ;
Today = new Date() ;
iYear = Today.getYear() ;
iMonth = Today.getMonth() + 1 ;
iDate = Today.getDate() ;
sDate = String(iYear) ;
if (iMonth < 10)
{
sDate = sDate + "年0" + String(iMonth) ;
}
else
{
sDate = sDate + "年" + String(iMonth) ;
}
if (iDate < 10)
{
sDate = sDate + "月0" + String(iDate) ;
}
else
{
sDate = sDate + "月" + String(iDate) ;
}
sDate = sDate + "日" ;
return sDate ;
}
// ----------------------------------------------------------------------------------
//2.5 本函數用于獲取系統的當前時間(時間格式是"HH:MM:SS")
// ----------------------------------------------------------------------------------
function JGetCurrentTime()
{
var iHour,iMin,iSecond,Today,sTime ;
Today = new Date() ;
iHour = Today.getHours() ;
iMin = Today.getMinutes() ;
iSecond = Today.getSeconds() ;
sTime = "" ;
if (iHour < 10)
{ sTime = "0" + String(iHour) ; }
else
{ sTime = String(iHour) ; }
if (iMin < 10)
{ sTime = sTime + ":0" + String(iMin) ; }
else
{ sTime = sTime + ":" + String(iMin) ; }
if (iSecond < 10)
{ sTime = sTime + ":0" + String(iSecond) ; }
else
{ sTime = sTime + ":" + String(iSecond) ; }
return sTime ;
}
// ----------------------------------------------------------------------------
//2.7 本函數用于初始化相關年Select,
// 其中參數 iBefore表示從當前年開始往前的年份數量;
// iAfter 表示從當前年開始往后的年份數量;
//-----------------------------------------------------------------------------
function JInitYearSelect(iBefore,iAfter,selName)
{
var iYear,i,optItem ;
var dDate = new Date()
for (i = selName.length ; i >= 0 ; i --)
{
selName.options[i] = null;
}
iYear = dDate.getYear() ;
for (i = iYear - iBefore; i <= iYear + iAfter; i ++)
{
optItem = document.createElement("OPTION") ;
optItem.text = i ;
optItem.value = i ;
if (i == iYear) { optItem.selected = true ;}
selName.add(optItem);
}
}
// ----------------------------------------------------------------------------
//2.8 本函數用于初始化iYear年iMonth月的日期的Select中的Option,
//-----------------------------------------------------------------------------
function JInitDateSelect(iYear,iMonth,selName)
{
var iDays,i,optItem,sTemp ;
for (i = selName.length ; i >= 0 ; i --)
{
selName.options[i] = null;
}
iDays = JGetDays(parseInt(iYear),parseInt(iMonth)) ;
for (i = 1; i <= iDays ; i ++)
{
optItem = document.createElement("OPTION") ;
if (i >= 10)
{
optItem.text = i ;
optItem.value = i ;
}
else
{
optItem.text = "0" + i.toString() ;
optItem.value = "0" + i.toString() ;
}
if (i == iYear + 1) { optItem.selected = true ;}
selName.add(optItem);
}
}
// ==================================================================================
// 第三部分 輸入合法性檢查函數
// ==================================================================================
// ----------------------------------------------------------------------------------
// 3.1 本函數用于判斷Text文本輸入框的值是否在合法字符串sCorrectStr中
// ----------------------------------------------------------------------------------
function JCorrectChar(txtName,sLabel,sCorrectStr)
{
var i,CheckChar ;
for(i = 0 ; i < txtName.value.length; i ++)
{
CheckChar = txtName.value.charAt(i) ;
if (sCorrectStr.indexOf(CheckChar) == -1)
{
strTemp = "“" + sLabel + "”中含有非法字符。" + unescape("nn") ;
strTemp = strTemp + "合法的字符集是:<" + sCorrectStr + ">。" ;
window.alert(strTemp) ;
txtName.select() ;
txtName.focus() ;
return false ;
}
}
return true ;
}
// -----------------------------------------------------------------------------------
// 3.2 本函數用于判斷一個文本輸入框txtName的值是否為空;
// -----------------------------------------------------------------------------------
function JTextEmpty(txtName,sLabel)
{
var strTemp = "" ;
strTemp = JRTrim(JLTrim(txtName.value)) ;
if (strTemp =="")
{
strTemp = "“" + sLabel + "”不能為空,請輸入正確的“" + sLabel + "”。";
window.alert(strTemp) ;
txtName.focus() ;
return true ;
}
return false ;
}
// ==================================================================================
// 第四部分 字符串相關函數
// ==================================================================================
// -----------------------------------------------------------------------------------
//4.1 本函數用于對sString字符串進行前空格截除
// -----------------------------------------------------------------------------------
function JLTrim(sString)
{
var sStr,i,iStart,sResult = "";
sStr = sString.split("");
iStart = -1 ;
for (i = 0 ; i < sStr.length ; i++)
{
if (sStr[i] != " ")
{
iStart = i;
break;
}
}
if (iStart == -1) { return "" ;} //表示sString中的所有字符均是空格,則返回空串
else { return sString.substring(iStart) ;}
}
// -----------------------------------------------------------------------------------
//4.2 本函數用于對sString字符串進行后空格截除
// -----------------------------------------------------------------------------------
function JRTrim(sString)
{
var sStr,i,sResult = "",sTemp = "" ;
// if (sString.length == 0) { return "" ;} // 參數sString是空串
sStr = sString.split("");
for (i = sStr.length - 1 ; i >= 0 ; i --) // 將字符串進行倒序
{
sResult = sResult + sStr[i];
}
sTemp = JLTrim(sResult) ; // 進行字符串前空格截除
if (sTemp == "") { return "" ; }
sStr = sTemp.split("");
sResult = "" ;
for (i = sStr.length - 1 ; i >= 0 ; i--) // 將經處理后的字符串再進行倒序
{
sResult = sResult + sStr[i];
}
return sResult ;
}
// ------------------------------------------------------------
//本函數用于對sString字符串進行前后空格截除
// ------------------------------------------------------------
function JTrim(sString)
{
var strTmp ;
strTmp = JRTrim(JLTrim(sString)) ;
return strTmp ;
}
// -----------------------------------------------------------------------------
//4.3 本函數用于測試字符串sString的長度;
// 注:對本函數來說,1個漢字代表2單位長度;
// -----------------------------------------------------------------------------
function JLen(sString)
{
var sStr,iCount,i,strTemp ;
iCount = 0 ;
sStr = sString.split("");
for (i = 0 ; i < sStr.length ; i ++)
{
strTemp = escape(sStr[i]);
if (strTemp.indexOf("%u",0) == -1) // 表示是漢字
{
iCount = iCount + 1 ;
}
else
{
iCount = iCount + 2 ;
}
}
return iCount ;
}
//-----------------------------------------------------------------------------
//4.4 本函數用于復制字符串sString從iStart開始iCount個長度
// 注 : 在使用本函數時,iStart,iCount長度單位均為英文字符長度;
// 即1個英文字母表示1個單位長度,而1個漢字表示2個單位長度.
// 當復制的最后一個字符只有半個漢字,則被丟棄;
// 當iStart的位置是后半個漢字時,則iStart將會從下一個有效字符開始;iStart從0開始
//-----------------------------------------------------------------------------
function JCopy(sString,iStart,iCount)
{
var sStr,i,j,strTemp = "",sResult = "";
var iResultLen = 0 ;
if (iStart < 0) { iStart = 0 ;}
if (iCount < 0) { iCount = 0 ;}
sStr = sString.split("");
j = 0 ;
for (i = 0 ; i < sStr.length ; i ++)
{
strTemp = escape(sStr[i]) ;
if (j >= iStart) // 進行復制字符串
{
sResult = sResult + sStr[i] ;
if (strTemp.indexOf("%u",0) == -1) // 復制的是非漢字
{
iResultLen = iResultLen + 1 ;
j = j + 1 ;
}
else
{
iResultLen = iResultLen + 2 ;
j = j + 2 ;
}
if (iResultLen < iCount) { continue ;} // 復制的字串不夠長,則繼續
if (iResultLen > iCount) // 最后一個字符只有半個漢字,則被丟棄;
{
sResult = sResult.substring(0,sResult.length - 1) ;
break ;
}
if (iResultLen = iCount) { break ; }
}
else
{
if (strTemp.indexOf("%u",0) == -1) // 非漢字
{ j = j + 1 ; }
else
{ j = j + 2 ; }
}
}
return sResult ;
}
// --------------------------------------------------------------
// 本函數用于提取[]內的數據
// --------------------------------------------------------------
function JSplitId(sId_Name)
{
var sStr,i,sResult = "" ;
var iStart = 0 ,iEnd = 0 ;
sStr = sId_Name.split("");
for (i = 0; i< sStr.length; i ++)
{
if (sStr[i] == "[")
{
iStart = i + 1;
break ;
}
}
for (i = 0; i< sStr.length; i ++)
{
if (sStr[i] == "]")
{
iEnd = i - 1 ;
break ;
}
}
if ((iStart > 0) && (iEnd > 0) && (iEnd >= iStart))
{
sResult = JCopy(sId_Name,iStart,iEnd - iStart + 1) ;
}
else
{
sResult = "" ;
}
return sResult ;
}
// ================================================================
// 本函數用于自動將輸入文本框中的內容轉換成大寫字符
// ================================================================
function JToUpperCase()
{
if ((window.event.keyCode >= 97) && (window.event.keyCode <= 122))
{
window.event.keyCode = window.event.keyCode - 32 ;
}
}
// ================================================================
// 本函數用于自動將輸入文本框中的內容轉換成小寫字符
// ================================================================
function JToLowerCase()
{
if ((window.event.keyCode >= 65) && (window.event.keyCode <= 90))
{
window.event.keyCode = window.event.keyCode + 32 ;
}
}
// ================================================================
// 本函數用于限制文本輸入框中只能輸入數字"0"到"9","."
// ================================================================
function JNumberText()
{
if ( !(((window.event.keyCode >= 48) && (window.event.keyCode <= 57))
|| (window.event.keyCode == 13) || (window.event.keyCode == 46)))
{
window.event.keyCode = 0 ;
}
}
// ============================================================================================
// 本函數用于打開一個居中的窗口,并返回打開的窗口名稱,與fucusWin()和closeWin()一起使用效果更佳
// 其中sUrl:相對地址,pw:寬度;ph:高度
// ===========================================================================================
function reOpenWin(sUrl,pw,ph){
var sFeature,sw=pw,sh=ph;
sFeature="width="+sw+",height="+sh+",top="+((window.screen.height-sh)/2-15)+",left="+((window.screen.width-sw)/2-5)+",";
return window.open(sUrl,"",sFeature);
}
// =========================================================================================================
// 本函數用于打開一個居中的窗口并帶有豎滾動條,并返回打開的窗口名稱,與fucusWin()和closeWin()一起使用效果更佳
// ==========================================================================================================
function reOpenWinSc(sUrl,pw,ph){
var sFeature,sw=pw,sh=ph;
sFeature="width="+sw+",height="+sh+",top="+((window.screen.height-sh)/2-15)+",left="+((window.screen.width-sw)/2-5)+",scrollbars=yes";
return window.open(sUrl,"",sFeature);
}
// =========================================================================================================
// 本函數用于檢測輸入的內容長度是否大小規定的長度。
// ==========================================================================================================
function checkLen(obj,iLen,desc){
if(JLen(obj.value)>iLen){
alert( "「"+desc + "」長度不能超〖" + iLen +"〗個字節,每個漢字為兩個字節!");
obj.select();
return false;
}
return true;
}
// =========================================================================================================
// 本函數用于窗口居中
// ==========================================================================================================
function winCenter(){
window.moveTo((screen.width-document.body.clientWidth-10)/2,(screen.height-document.body.clientHeight-30)/2);
}
// =========================================================================================================
// 檢測下拉框必須選擇其中一條
// ==========================================================================================================
function selNotEmpty(obj,sLabel){
var strTemp = "" ;
strTemp = JTrim(obj.value) ;
if (strTemp ==""){
strTemp = "“" + sLabel + "”不能為空,請選擇正確的“" + sLabel + "”。";
window.alert(strTemp);
obj(0).selected=true ;
return true;
}
return false;
}
// =========================================================================================================
// 焦點定在傳入的窗口中
// ==========================================================================================================
function fucusWin(winName){
try{
if(winName!=null){
winName.focus();
var sWinName=(winName.name).toString;
}
}
catch(e){
//alert(e); //忽略錯誤
}
}
// =========================================================================================================
// 關閉窗口
// ==========================================================================================================
function closeWin(winName){
try{
if(winName!=null){
winName.close();
}
}
catch(e){
}
}
// =========================================================================================================
// 限制輸入回車鍵
// ==========================================================================================================
function JNotInputEnter(){
if(window.event.keyCode=13) window.event.keyCode=0;
}
// ================================================================
// 本函數用于限制文本輸入框中只能輸入整型數據[0-9]
// ================================================================
function JIntNumText(){
if ( !(((window.event.keyCode >= 48) && (window.event.keyCode <= 57))
|| (window.event.keyCode == 13)))
{
window.event.keyCode = 0 ;
}
}
// ================================================================
// 本函數用于限制文本輸入框中只能輸入字母[A-Za-z]
// ================================================================
function JInputLetter(){
if ( !(((window.event.keyCode >= 65) && (window.event.keyCode <= 90))
|| ((window.event.keyCode >= 97) && (window.event.keyCode <= 122))
|| (window.event.keyCode == 13)))
{
window.event.keyCode = 0 ;
}
}
// ================================================================
// 本函數用于限制文本輸入框中只能輸入電話內容[0-9]、-、(),
// ================================================================
function JInputTel(){
if (!(((window.event.keyCode >= 48) && (window.event.keyCode <= 57))
|| (window.event.keyCode == 45)|| (window.event.keyCode == 13)
|| (window.event.keyCode == 40)|| (window.event.keyCode == 41)))
{
window.event.keyCode = 0 ;
}
}
// ================================================================
// 本函數用于限制文本輸入框中只能輸入日期內容[0-9]、-、/,
// ================================================================
function JInputDate(){
if ( !(((window.event.keyCode >= 48) && (window.event.keyCode <= 57))
|| (window.event.keyCode == 45)
|| (window.event.keyCode == 47)|| (window.event.keyCode == 13)))
{
window.event.keyCode = 0 ;
}
}
// ================================================================
// 本函數用于判斷傳的文件框的內容是否為整數
// ================================================================
function JIsIntNum(Oject,sLabel){
var vNum = /^[d]+$/;
if(!vNum.test(Oject.value)){
var strTemp = "“" + sLabel + "”必須為整數,請輸入正確的“" + sLabel + "”。";
alert(strTemp);
Oject.value=0;
Oject.select();
return true;
}
return false;
}
function reOpenWin(sUrl,pw,ph){
var sFeature,sw=pw,sh=ph;
sFeature="width="+sw+",height="+sh+",top="+((window.screen.height-sh)/2-15)+",left="+((window.screen.width-sw)/2-5)+",";
return window.open(sUrl,"",sFeature);
}
function reOpenWinSc(sUrl,pw,ph){
var sFeature,sw=pw,sh=ph;
sFeature="width="+sw+",height="+sh+",top="+((window.screen.height-sh)/2-15)+",left="+((window.screen.width-sw)/2-5)+",scrollbars=yes";
return window.open(sUrl,"",sFeature);
}