常用js脚本


Posted in Javascript onDecember 03, 2006

这些都是工作的时候用到的,希望以后都可以用到

// “”:,。!; 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);

Javascript 相关文章推荐
javascript web页面刷新的方法收集
Jul 02 Javascript
利用jQuery 实现GridView异步排序、分页的代码
Feb 06 Javascript
用JS实现一个TreeMenu效果分享
Aug 28 Javascript
利用javascript解决图片缩放及其优化的代码
May 23 Javascript
javascript和jquery修改a标签的href属性
Dec 16 Javascript
js实现匹配时换色的输入提示特效代码
Aug 17 Javascript
强大Vue.js组件浅析
Sep 12 Javascript
利用JS实现简单的日期选择插件
Jan 23 Javascript
AngularJS的脏检查深入分析
Apr 22 Javascript
Vue实现table上下移动功能示例
Feb 21 Javascript
Vue.js 无限滚动列表性能优化方案
Dec 02 Javascript
JavaScript实现雪花飘落效果
Dec 27 Javascript
论坛特效代码收集(落伍转发-不错)
Dec 02 #Javascript
线路分流自动跳转代码;希望对大家有用!
Dec 02 #Javascript
phpwind放自动注册方法
Dec 02 #Javascript
一段好玩的JavaScript代码
Dec 01 #Javascript
[原创]网络复制内容时常用的正则+editplus
Nov 30 #Javascript
JavaScript中令你抓狂的魔术变量
Nov 30 #Javascript
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
Nov 30 #Javascript
You might like
利用static实现表格的颜色隔行显示
2006/10/09 PHP
PHP使用feof()函数读文件的方法
2014/11/07 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
Yii框架实现的验证码、登录及退出功能示例
2017/05/20 PHP
Laravel框架自定义分页样式操作示例
2020/01/26 PHP
用js实现的仿sohu博客更换页面风格(简单版)
2007/03/22 Javascript
仅img元素创建后不添加到文档中会执行onload事件的解决方法
2011/07/31 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
jQuery实现tab选项卡效果的方法
2015/07/08 Javascript
window.open打开窗口被拦截的快速解决方法
2016/08/04 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
简单实现JavaScript图片切换效果
2016/11/28 Javascript
使用vue构建移动应用实战代码
2017/08/02 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
vue-router重定向不刷新问题的解决
2018/06/25 Javascript
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
详解js中let与var声明变量的区别
2020/04/05 Javascript
javascript实现简易数码时钟
2020/03/30 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
2020/07/29 Javascript
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
Python实现扫描局域网活动ip(扫描在线电脑)
2015/04/28 Python
详解在Python程序中使用Cookie的教程
2015/04/30 Python
使用HTML5技术开发一个属于自己的超酷颜色选择器
2013/09/22 HTML / CSS
Html5在手机端调用相机的方法实现
2020/05/13 HTML / CSS
Linux如何命名文件--使用文件名时应注意
2012/01/22 面试题
现场施工员岗位职责
2014/03/10 职场文书
客户经理竞聘演讲稿
2014/05/15 职场文书
纪念一二九运动演讲稿
2014/09/16 职场文书
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
介绍信的写法
2015/01/31 职场文书
刑事上诉状范文
2015/05/22 职场文书
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL
Vue 打包后相对路径的引用问题
2022/06/05 Vue.js