通用javascript指令碼函數庫

來源:互聯網
上載者:User

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個字母
*/
/*
==================================================================
字串操作
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(“&“,“&“);  
       str=str.replace(“〈“,““);  
       str=str.replace(“’“,“'“);  
       str=str.replace(“\““,“"“);  
       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;  
    }  
}  

/*
IsEnLetter(string,string):測試字串,大小寫(UL,U,L or ul,u,l)
*/
function IsEnLetter(objStr,size)  
{  
    var reg;  

    if(Trim(objStr)==““)  
    {  
        return false;  
    }  
    else
    {  
        objStr=objStr.toString();  
    }  

    if((size==null)||(Trim(size)==““))  
    {  
        size=“UL“;  
    }  
    else
    {  
        size=size.toUpperCase();  
    }  

    switch(size)  
    {  
        case “UL“:  
            //大小寫  
            reg=/^[A-Za-z]+$/;  
            break;  
        case “U“:  
            //大寫  
            reg=/^[A-Z]+$/;  
            break;  
        case “L“:  
            //小寫  
            reg=/^[a-z]+$/;  
            break;  
        default:  
            alert(“檢查大小寫參數,只可為(空、UL、U、L)“);  
            return false;  
            break;  
    }  

    var r=objStr.match(reg);  
    if(r==null)  
    {  
        return false;  
    }  
    else
    {  
        return true;  
    }  
}  

/*
=====================================================================
功能:滑鼠小提示
作者:申旺
日期:2004/04/15
======================================================================
*/

//定義變數、設定預設值  
var LabelFontFace=“宋體,arial,Verdana“;  
var LabelFontColor=“#000000“;  
var LabelFontSize=“9pt“;  
var LabelFontStyle=“Font.PLAIN“;  
var LabelBorderColor=“#000000“;  
var LabelBackColor=“#FFFFE1“;  

//設定各個屬性  
function SetLabelFontFace(obj)  
{  
       obj=Trim(obj);  
       if(obj==null || obj==““)  
       {  
              obj=“宋體,arial,Verdana“;  
       }  
       LabelFontFace=obj;  
}  

function SetLabelFontColor(obj)  
{  
    obj=Trim(obj);  
       if(obj==null || obj==““)  
       {  
              obj=“#000000“;  
       }  
       LabelFontColor=obj;  
}  

function SetLabelFontSize(obj)  
{  
    obj=Trim(obj);  
       if(obj==null || obj==““)  
       {  
              obj=“9pt“;  
       }  
       LabelFontSize=obj;  
}  

function SetLabelFontStyle(obj)  
{  
    obj=Trim(obj);  
       if(obj==null || obj==““)  
       {  
              obj=“Font.PLAIN“;  
       }  
       LabelFontStyle=obj;  
}  

function SetLabelBorderColor(obj)  
{  
    obj=Trim(obj);  
    if(obj==null || obj==““)  
    {  
        obj=“#000000“;  
    }  
    LabelBorderColor=obj;  
}  

function SetLabelBackColor(obj)  
{  
    obj=Trim(obj);  
    if(obj==null || obj==““)  
    {  
        obj=“#FFFFE1“;  
    }  
    LabelBackColor=obj;  
}  

//合成文字樣式  
function SetTextStyle(str)  
{  
    var strRet=““;  

    var strStyle=““;  

    strStyle=“font-family:“+LabelFontFace+“;“;  
    strStyle+=“color:“+LabelFontColor+“;“;  
    strStyle+=“font-size:“+LabelFontSize+“;“;  

    switch(LabelFontStyle.toLowerCase())  
    {  
        case “font.plain“:  
            strStyle+=“font-weight: normal;“;  
            strStyle+=“font-style: normal;“;  
            break;  
        case “font.bold“:  
            strStyle+=“font-weight: bold;“;  
            strStyle+=“font-style: normal;“;  
            break;  
        case “font.italic“:  
            strStyle+=“font-weight: normal;“;  
            strStyle+=“font-style: italic;“;  
            break;  
        case “font.italicbold“:  
        case “font.bolditalic“:  
            strStyle+=“font-weight: bold;“;  
            strStyle+=“font-style: italic;“;  
            break;  
        default:  
            strStyle+=“font-weight: bold;“;  
            strStyle+=“font-style: italic;“;  
            break;  
    }  

    strRet=“〈font style=’“+strStyle+“’〉“;  
    strRet+=“ “+str+“ “;  
    strRet+=“〈/font〉“;  

    return strRet;  
}  

//合成表格樣式  
function SetTableStyle()  
{  
    var strRet=““;  

    strRet+=“border-right: “+LabelBorderColor+“ 1px solid;“;  
    strRet+=“border-top: “+LabelBorderColor+“ 1px solid;“;  
    strRet+=“border-left: “+LabelBorderColor+“ 1px solid;“;  
    strRet+=“border-bottom: “+LabelBorderColor+“ 1px solid;“;  
    strRet+=“background-color:“+LabelBackColor;  

    return strRet;  
}  

//顯示提示  
function ShowNote(str)  
{  
       var strHtml;  

       strHtml=““;  
       strHtml+=“〈table height=1px width=1px border=’0’cellspacing=’0’ cellpadding=’0’ style=’“ + SetTableStyle() + “’〉“;  
       strHtml+=“〈tr〉“;  
       strHtml+=“〈td〉“+SetTextStyle(str)+“〈/td〉“;  
       strHtml+=“〈/tr〉“;  
       strHtml+=“〈/table〉“;  

       if (document.all&&document.readyState==“complete“)  
       {  
              document.all.div_Note.innerHTML=strHtml;  
              document.all.div_Note.style.pixelLeft=event.clientX+document.body.scrollLeft+10  
              document.all.div_Note.style.pixelTop=event.clientY+document.body.scrollTop+10  
              document.all.div_Note.style.visibility=“visible“  
       }  
}  

//隱藏提示  
function HideNote()  
{  
       if (document.all)  
       {  
              document.all.div_Note.style.visibility=“hidden“;  
       }  
       else
       {  
              if (document.layers)  
              {  
                     clearInterval(currentscroll)  
                     document.div_Note.visibility=“hidden“;  
              }  
       }  
}  

//初始化  
function Init()  
{  
    window.document.write(“〈div id=\“div_Note\“ style=\“VISIBILITY:hidden; POSITION:absolute; HEIGHT:13px;z-index:1\“〉〈/div〉“);  
}  
Init();  

//產生提示字元  
function ShowLabel(text,note,bclick)  
{  
       if(bclick!=null)  
       {  
              return “〈a href=\“#\“ onMouseOver=\“ShowNote(’“ + note + “’)\“ onMouseOut=\“HideNote()\“ onClick=\“javascriptoSomeThing(this);\“〉“ + text + “〈/a〉“;  
       }  
       else
       {  
           return “〈a href=\“#\“ onMouseOver=\“ShowNote(’“ + note + “’)\“ onMouseOut=\“HideNote()\“〉“ + text + “〈/a〉“;  
       }  
}  

測試頁面:  
〈HTML〉  
    〈HEAD〉  
        〈title〉Common javascript〈/title〉  
              〈script language=“javascript“ src=“./Common.js“〉〈/script〉  
        〈script language=“javascript“〉  
                     function CheckInt()  
                     {  
                            iptResult.value=IsInt(iptTest.value,iptSign.value,iptZero.value);  
                     }  

                     function CheckFloat()  
                     {  
                            iptResult.value=IsFloat(iptTest.value,iptSign.value,iptZero.value);  
                     }  

                     function CheckLetter()  
                     {  
                            iptResult.value=IsEnLetter(iptTest.value,iptSign.value);  
                     }  
                     document.write(ShowLabel(“TEST“,“Only a testing!“));  
                     document.write(“〈br〉“);  
              〈/script〉  
        〈meta http-equiv=“expires“ content=“0“〉  
    〈/HEAD〉  
    〈body〉  
     〈input type=text value=““ id=“iptTest“〉〈input type=button value=“IsEmpty“ onclick=“IsEmpty(’iptTest’);“〉  
     〈input type=button value=“CheckInt“ onclick=“CheckInt()“〉  
        〈br〉  
     〈input type=text value=““ id=“iptSign“ NAME=“iptSign“〉〈input type=button value=“CheckFloat“ onclick=“CheckFloat()“〉  
        〈br〉  
     〈input type=text value=““ id=“iptZero“ NAME=“iptZero“〉〈input type=button value=“CheckLetter“ onclick=“CheckLetter()“〉  
     〈br〉  
     〈input type=text value=““ id=iptResult disabled=true〉  
    〈/body〉  
〈/HTML〉

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.