往系統String類裡追加的自定義方法:(可直接使用)
trim(): 去除字符串的前尾空格
isNull(): 判斷字符串是否為空,隻為空格也算空
len(): 返回字符串的長度,ASCLL碼大於255的算兩個長度
函數:
isTooLong(strValue,maxLen) 功能:判斷一個字符串是否超出規定的最大長度。
參數:要判斷的字符串;允許的最大長度。
返回值:True(超過長度)。Fase(沒有超過長度)
hasNotCorrectChar(strValue,allowChar) 功能:判斷一個字符串中是否包含有非法字符(這些非法字符可自定義)
參數:要判斷的字符串;允許在該字符串中出現的非法字符
返回值:True(包含有非法字符)。False(沒有包含非法字符)
isDate(strValue) 功能:判斷給定的字符串是否符合日期格式(格式示例:2006/08/08或2006/8/8)
參數:要判斷的字符串
返回值:True(正確的日期格式)。False(不正確的日期格式)
isTime(strValue) 功能:判斷給定的字符串是否符合時間格式(格式示例:06:18或8:9或17:8)
參數:要判斷的字符串
返回值:True(正確的時間格式)。False(不正確的時間格式)
getCurrentDate() 功能:得到客戶端當前的的日期(格式示例:2006/03/16)
getCurrentTime() 功能:得到客戶端當前的時間(格式示例:08:16)
以下函數對應鍵的keypress事件
enterToTab() 功能:替換Enter到Tab
numOnly() 功能:隻能輸入數字、Tab、Enter、退格鍵、Del鍵。
以下附源 程序 或點這下載
var notCorrectStr="@#%^&'*<>?/\|-"; //定義基本的非法字符集,可根據需要動態修改
var maxLenInt=60;
////////////////////////////////////////////////////
////////////////定義提示消息區///////////////////////
var strNotNull="不能為空,請輸入值!";
var strNotDate="不是合法的日期!示例:2006/08/16";
var strNotTime="不是合法的時間!示例:08/16"
var strNotRight1="含有";
var strNotRight2="等非法字符!";
var strTooLong1="長度超過";
var strTooLong2=",提示:漢字為兩個長度!";
////////////////////////////////////////////////////
/****************************************************************
*FunctionName:checkTxt
*InParam:文本框的名稱,中文名字,是否可以為空,最大可輸入長度,可以包含的非法字符集
*Out:True?Fase?
*Function:封裝對文本框公用的判斷
*****************************************************************/
function checkTxt(strTxtName,strTxtValue,isAllowNull,maxLen,allowChars)
{
var objTxt=document.all(strTxtName);
if(!isAllowNull&&objTxt.value.isNull()) //不允講為空,但確為空
{
alert(strTxtValue+strNotNull);
objTxt.focus();
objTxt.select();
return false;
}
else if(!objTxt.value.isNull())
{
if(hasNotCorrectChar(objTxt.value,allowChars)) //含有非法字符
{
alert(strTxtValue+strNotRight1 + notCorrectStr + strNotRight2);
}
else if(isTooLong(objTxt.value,maxLen)) //長度超過
{
alert(strTxtValue+strTooLong1 + maxLenInt + strTooLong2);
}
objTxt.focus();
objTxt.select();
return false;
}
return true;
}
//追加String類的方法
//去除字符串的前尾空格
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
//判斷字符串是否為空,隻為空格也算空
String.prototype.isNull=function()
{
if (this.trim()=="")
{
return true;
}
return false;
}
//返回字符串的長度,ASCLL碼大於255的算兩個長度
String.prototype.len=function()
{
return this.replace(/[^\x00-\xff]/g,"cc").length;
}
//判斷字符串長度是否超過指定的長度
function isTooLong(strValue,maxLen)
{
maxLenInt=maxLen; //最大長度
if(strValue.trim().len()>parseInt(maxLen))
{
return true;
}
return false;
}
//過濾字符串中的非法字符
function hasNotCorrectChar(strValue,allowChar)
{
var tempLenA=notCorrectStr.length; //獲取非法字符集的長度
var tempLenB=allowChar.length; //獲取可以包含的非法字符的長度
var i,j;
var tempStrA,tempStrB; //用於臨時存放單個的字符
for(i=0;i<tempLenA;i++) //逐個取出非法字符集進行匹配判斷
{
if(tempLenB>0) //有可以輸入的非法字符
{
for(j=0;j<tempLenB;j++)
{
tempStrB=allowChar.substr(j,1) //逐個取出合法字符集
if(notCorrectStr.indexOf(tempStrB)>=0)
{
notCorrectStr=notCorrectStr.replace(tempStrB,""); //替換默認的非法字符集
tempLenA-=1
}//end if
}//end for
}//end if
tempStrA=notCorrectStr.substr(i,1) //逐個取出非法字符集
if(strValue.indexOf(tempStrA)>=0) //包含有非法字符
{
return true;
}//end if
}//end for
return false;
}//end function
//判斷字符串是否是日期類型
function isDate(strValue)
{
var rule=/^[0-9]{4}\/[0-1]?[0-9]{1}\/[0-3]?[0-9]{1}$/ //日期正則表達式
if (!rule.test(strValue.trim()))
{
return false;
}
return true;
}
//判斷字符串是否是時間類型
function isTime(strValue)
{
var rule=/^[0-2]?[0-9]{1}\:[0-6]?[0-9]{1}$/ //時間正則表達式
if (!rule.test(strValue.trim()))
{
return false;
}
return true;
}
//得到當前的的日期,格式為:2006/03/16
function getCurrentDate()
{
var m,d;
dCurrentDate=new Date();
m=dCurrentDate.getMonth().toString();
d= dCurrentDate.getDate().toString();
if (m.length==1)
{
m="0" + m;
}
if(d.length==1)
{
d="0" + d
}
return dCurrentDate.getYear() + "/" + m + "/" + d;
}
//得到當前的時間,格式為:08:16
function getCurrentTime()
{
var h,m;
dCurrentDate=new Date();
m=dCurrentDate.getMinutes().toString();
h= dCurrentDate.getHours().toString();
if (m.length==1)
{
m="0" + m;
}
if(h.length==1)
{
h="0" + h;
}
return h + ":" + m;
}
//對應鍵的keypress事件
//替換Enter到Tab
function enterToTab()
{
if (window.event.keyCode==13) //回車鍵的ASCLL碼
{
window.event.keyCode=9; //Tab鍵的ASCLL碼
return;
}
}
//隻能為數字
function numOnly()
{
if (window.event.keyCode==13)
{
window.event.keyCode=9;
return;
}
if(!(event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39))
{
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)||(event.keyCode==9)))
{
event.returnValue=false;
}
}
}