这些都是工作的时候用到的,希望以后都可以用到
// “”:,。!; 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);
}
// “”:,。!; 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);
}
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2024年11月26日
2024年11月26日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]