JavaScript通用庫(一)(摘)

JavaScript在WEB編程中能起到很大的作用,將一些常用的功能寫成JavaScript類庫。

將下面代碼保存爲Common.js

類庫功能:

1.Trim(str)--去除字符串兩邊的空格

2.XMLEncode(str)--對字符串進行XML編碼

3.ShowLabel(str,str)--鼠標提示功能(顯示字符,提示字符)

可以設置顯示的提示的文字的字體、顏色、大小以及提示的背景顏色、邊框等

4.IsEmpty(obj)--驗證輸入框是否爲空

5.IsInt(objStr,sign,zero)--驗證是否爲整數,正整數,負整數,以及是否包括零

6.IsFloat(objStr,sign,zero)--驗證是否爲浮點數,正浮點,負浮點,以及是否包括零

7.IsEnLetter(objStr,size)--驗證是否爲26個字母,大寫小

 

源代碼如下:

/*

       名字:Common.js

       功能:通用JavaScript腳本函數庫

       包括:

                     1.Trim(str)--去除字符串兩邊的空格

                     2.XMLEncode(str)--對字符串進行XML編碼

            3.ShowLabel(str,str)--鼠標提示功能(顯示字符,提示字符)

                     4.IsEmpty(obj)--驗證輸入框是否爲空

                     5.IsInt(objStr,sign,zero)--驗證是否爲整數

                     6.IsFloat(objStr,sign,zero)--驗證是否爲浮點數

                     7.IsEnLetter(objStr,size)--驗證是否爲26個字母

 

    作者:申旺

    日期:2004/04/14

*/

 

/*

==================================================================

字符串操作

Trim(string):去除字符串兩邊的空格

==================================================================

*/

 

/*

==================================================================

LTrim(string):去除左邊的空格

==================================================================

*/

function LTrim(str)

{

    var whitespace = new String(" /t/n/r");

    var s = new String(str);

   

    if (whitespace.indexOf(s.charAt(0)) != -1)

    {

        var j=0, i = s.length;

        while (j < i && whitespace.indexOf(s.charAt(j)) != -1)

        {

            j++;

        }

        s = s.substring(j, i);

    }

    return s;

}

 

/*

==================================================================

RTrim(string):去除右邊的空格

==================================================================

*/

function RTrim(str)

{

    var whitespace = new String(" /t/n/r");

    var s = new String(str);

 

    if (whitespace.indexOf(s.charAt(s.length-1)) != -1)

    {

        var i = s.length - 1;

        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)

        {

            i--;

        }

        s = s.substring(0, i+1);

    }

    return s;

}

 

/*

==================================================================

Trim(string):去除前後空格

==================================================================

*/

function Trim(str)

{

    return RTrim(LTrim(str));

}

 

 

 

/*

================================================================================

XMLEncode(string):對字符串進行XML編碼

================================================================================

*/

function XMLEncode(str)

{

       str=Trim(str);

       str=str.replace("&","&amp;");

       str=str.replace("<","&lt;");

       str=str.replace(">","&gt;");

       str=str.replace("'","&apos;");

       str=str.replace("/"","&quot;");

       return str;

}

 

/*

================================================================================

驗證類函數

================================================================================

*/

 

function IsEmpty(obj)

{

    obj=document.getElementsByName(obj).item(0);

    if(Trim(obj.value)=="")

    {

        alert("字段不能爲空。");       

        if(obj.disabled==false && obj.readOnly==false)

        {

            obj.focus();

        }

    }

}

 

/*

IsInt(string,string,int or string):(測試字符串,+ or - or empty,empty or 0)

功能:判斷是否爲整數、正整數、負整數、正整數+0、負整數+0

*/

function IsInt(objStr,sign,zero)

{

    var reg;   

    var bolzero;   

   

    if(Trim(objStr)=="")

    {

        return false;

    }

    else

    {

        objStr=objStr.toString();

    }   

   

    if((sign==null)||(Trim(sign)==""))

    {

        sign="+-";

    }

   

    if((zero==null)||(Trim(zero)==""))

    {

        bolzero=false;

    }

    else

    {

        zero=zero.toString();

        if(zero=="0")

        {

            bolzero=true;

        }

        else

        {

            alert("檢查是否包含0參數,只可爲(空、0)");

        }

    }

   

    switch(sign)

    {

        case "+-":

            //整數

            reg=/(^-?|^/+?)/d+$/;           

            break;

        case "+":

            if(!bolzero)          

            {

                //正整數

                reg=/^/+?[0-9]*[1-9][0-9]*$/;

            }

            else

            {

                //正整數+0

                //reg=/^/+?/d+$/;

                reg=/^/+?[0-9]*[0-9][0-9]*$/;

            }

            break;

        case "-":

            if(!bolzero)

            {

                //負整數

                reg=/^-[0-9]*[1-9][0-9]*$/;

            }

            else

            {

                //負整數+0

                //reg=/^-/d+$/;

                reg=/^-[0-9]*[0-9][0-9]*$/;

            }           

            break;

        default:

            alert("檢查符號參數,只可爲(空、+、-)");

            return false;

            break;

    }

   

    var r=objStr.match(reg);

    if(r==null)

    {

        return false;

    }

    else

    {       

        return true;    

    }

}

 

/*

IsFloat(string,string,int or string):(測試字符串,+ or - or empty,empty or 0)

功能:判斷是否爲浮點數、正浮點數、負浮點數、正浮點數+0、負浮點數+0

*/

function IsFloat(objStr,sign,zero)

{

    var reg;   

    var bolzero;   

   

    if(Trim(objStr)=="")

    {

        return false;

    }

    else

    {

        objStr=objStr.toString();

    }   

   

    if((sign==null)||(Trim(sign)==""))

    {

        sign="+-";

    }

   

    if((zero==null)||(Trim(zero)==""))

    {

        bolzero=false;

    }

    else

    {

        zero=zero.toString();

        if(zero=="0")

        {

            bolzero=true;

        }

        else

        {

            alert("檢查是否包含0參數,只可爲(空、0)");

        }

    }

   

    switch(sign)

    {

        case "+-":

            //浮點數

            reg=/^((-?|/+?)/d+)(/./d+)?$/;

            break;

        case "+":

            if(!bolzero)          

            {

                //正浮點數

                reg=/^/+?(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$/;

            }

            else

            {

                //正浮點數+0

                reg=/^/+?/d+(/./d+)?$/;

            }

            break;

        case "-":

            if(!bolzero)

            {

                //負浮點數

                reg=/^-(([0-9]+/.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*/.[0-9]+)|([0-9]*[1-9][0-9]*))$/;

            }

            else

            {

                //負浮點數+0

                reg=/^((-/d+(/./d+)?)|(0+(/.0+)?))$/;

            }           

            break;

        default:

            alert("檢查符號參數,只可爲(空、+、-)");

            return false;

            break;

    }

   

    var r=objStr.match(reg);

    if(r==null)

    {

        return false;

    }

    else

    {       

        return true;    

    }

}
-----------------------------------------------------------------------------------------------------------------------

/*********************************************
1. LTrim(str)去除str左邊的空白字符(空格,換行,回車)
2. RTrim(str)去除ste右邊的空白字符(空格,換行,回車)
3. Trim(str)去除ste兩邊的空白字符(空格,換行,回車)
*********************************************/

function LTrim(str) {
return str.replace(/^[ /t/n/r]+/g, "");
}

function RTrim(str) {
return str.replace(/[ /t/n/r]+$/g, "");
}

function Trim(str) {
    return RTrim(LTrim(str));
}

發佈了29 篇原創文章 · 獲贊 0 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章