WorldSoftware  
世界軟件,軟件的世界!
 說明如下:

往系統String類裡追加的自定義方法:(可直接使用)

      trim():                                       去除字符串的前尾空格


      isNull():                                    判斷字符串是否為空,隻為空格也算空


      len():                                        返回字符串的長度,ASCLL碼大於255的算兩個長度



函數:

      isTooLong(strValue,maxLen)                      功能:判斷一個字符串是否超出規定的最大長度。

                                                                            參數:要判斷的字符串;允許的最大長度。

                                                                            返回值:True(超過長度)Fase(沒有超過長度)


      hasNotCorrectChar(strValue,allowChar)   功能:判斷一個字符串中是否包含有非法字符(這些非法字符可自定義)

                                                                           參數:要判斷的字符串;允許在該字符串中出現的非法字符

                                                                           返回值:True(包含有非法字符)False(沒有包含非法字符)


      isDate(strValue)               功能:判斷給定的字符串是否符合日期格式(格式示例:2006/08/082006/8/8)

                                                  參數:要判斷的字符串

                                                  返回值:True(正確的日期格式)False(不正確的日期格式)


      isTime(strValue)                功能:判斷給定的字符串是否符合時間格式(格式示例:06:188:917:8)

                                                    參數:要判斷的字符串

                                                    返回值:True(正確的時間格式)False(不正確的時間格式)


      getCurrentDate()                功能:得到客戶端當前的的日期(格式示例:2006/03/16)

      getCurrentTime()               功能:得到客戶端當前的時間(格式示例:08:16)



以下函數對應鍵的keypress事件

      enterToTab()                       功能:替換EnterTab

      numOnly()                           功能:隻能輸入數字、TabEnter、退格鍵、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;
        }
         
    }

}
posted on 2006-08-09 19:56  WorldNet  阅读(1490)  评论(1编辑  收藏  举报