javascript
JavaScript类库
JavaScript在WEB編程中能起到很大的作用,將一些常用的功能寫成JavaScript類庫。
將下面代碼保存為Common.js
類庫功能:
1.Trim(str)--去除字符串兩邊的空格
2.XMLEncode(str)--對(duì)字符串進(jìn)行XML編碼
3.ShowLabel(str,str)--鼠標(biāo)提示功能(顯示字符,提示字符)
可以設(shè)置顯示的提示的文字的字體、顏色、大小以及提示的背景顏色、邊框等
4.IsEmpty(obj)--驗(yàn)證輸入框是否為空
5.IsInt(objStr,sign,zero)--驗(yàn)證是否為整數(shù),正整數(shù),負(fù)整數(shù),以及是否包括零
6.IsFloat(objStr,sign,zero)--驗(yàn)證是否為浮點(diǎn)數(shù),正浮點(diǎn),負(fù)浮點(diǎn),以及是否包括零
7.IsEnLetter(objStr,size)--驗(yàn)證是否為26個(gè)字母,大寫小
?
?
源代碼如下:
/*
???????名字:Common.js
???????功能:通用JavaScript腳本函數(shù)庫
???????包括:
?????????????????????1.Trim(str)--去除字符串兩邊的空格
?????????????????????2.XMLEncode(str)--對(duì)字符串進(jìn)行XML編碼
????????????3.ShowLabel(str,str)--鼠標(biāo)提示功能(顯示字符,提示字符)
?????????????????????4.IsEmpty(obj)--驗(yàn)證輸入框是否為空
?????????????????????5.IsInt(objStr,sign,zero)--驗(yàn)證是否為整數(shù)
?????????????????????6.IsFloat(objStr,sign,zero)--驗(yàn)證是否為浮點(diǎn)數(shù)
?????????????????????7.IsEnLetter(objStr,size)--驗(yàn)證是否為26個(gè)字母
?
?
????作者:申旺
????日期: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):對(duì)字符串進(jìn)行XML編碼
================================================================================
*/
function XMLEncode(str)
{
???????str=Trim(str);
???????str=str.replace("&","&");
???????str=str.replace("<","<");
???????str=str.replace(">",">");
???????str=str.replace("'","'");
???????str=str.replace("\"",""");
???????return str;
}
?
?
/*
================================================================================
驗(yàn)證類函數(shù)
================================================================================
*/
?
?
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):(測(cè)試字符串,+ or - or empty,empty or 0)
功能:判斷是否為整數(shù)、正整數(shù)、負(fù)整數(shù)、正整數(shù)+0、負(fù)整數(shù)+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參數(shù),只可為(空、0)");
????????}
????}
???
????switch(sign)
????{
????????case "+-":
????????????//整數(shù)
????????????reg=/(^-?|^\+?)\d+$/;???????????
????????????break;
????????case "+":
????????????if(!bolzero)??????????
????????????{
????????????????//正整數(shù)
????????????????reg=/^\+?[0-9]*[1-9][0-9]*$/;
????????????}
????????????else
????????????{
????????????????//正整數(shù)+0
????????????????//reg=/^\+?\d+$/;
????????????????reg=/^\+?[0-9]*[0-9][0-9]*$/;
????????????}
????????????break;
????????case "-":
????????????if(!bolzero)
????????????{
????????????????//負(fù)整數(shù)
????????????????reg=/^-[0-9]*[1-9][0-9]*$/;
????????????}
????????????else
????????????{
????????????????//負(fù)整數(shù)+0
????????????????//reg=/^-\d+$/;
????????????????reg=/^-[0-9]*[0-9][0-9]*$/;
????????????}????????????
????????????break;
????????default:
????????????alert("檢查符號(hào)參數(shù),只可為(空、+、-)");
????????????return false;
????????????break;
????}
???
????var r=objStr.match(reg);
????if(r==null)
????{
????????return false;
????}
????else
????{???????
????????return true;????
????}
}
?
?
/*
IsFloat(string,string,int or string):(測(cè)試字符串,+ or - or empty,empty or 0)
功能:判斷是否為浮點(diǎn)數(shù)、正浮點(diǎn)數(shù)、負(fù)浮點(diǎn)數(shù)、正浮點(diǎn)數(shù)+0、負(fù)浮點(diǎn)數(shù)+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參數(shù),只可為(空、0)");
????????}
????}
???
????switch(sign)
????{
????????case "+-":
????????????//浮點(diǎn)數(shù)
????????????reg=/^((-?|\+?)\d+)(\.\d+)?$/;
????????????break;
????????case "+":
????????????if(!bolzero)??????????
????????????{
????????????????//正浮點(diǎn)數(shù)
????????????????reg=/^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
????????????}
????????????else
????????????{
????????????????//正浮點(diǎn)數(shù)+0
????????????????reg=/^\+?\d+(\.\d+)?$/;
????????????}
????????????break;
????????case "-":
????????????if(!bolzero)
????????????{
????????????????//負(fù)浮點(diǎn)數(shù)
????????????????reg=/^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
????????????}
????????????else
????????????{
????????????????//負(fù)浮點(diǎn)數(shù)+0
????????????????reg=/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;
????????????}???????????
????????????break;
????????default:
????????????alert("檢查符號(hào)參數(shù),只可為(空、+、-)");
????????????return false;
????????????break;
????}
???
????var r=objStr.match(reg);
????if(r==null)
????{
????????return false;
????}
????else
????{???????
????????return true;????
????}
}
/*
IsEnLetter(string,string):測(cè)試字符串,大小寫(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("檢查大小寫參數(shù),只可為(空、UL、U、L)");
????????????return false;
????????????break;
????}
???
????var r=objStr.match(reg);
????if(r==null)
????{
????????return false;
????}
????else
????{???????
????????return true;????
????}
}
?
?
?
?
/*
================================================================================
功能:鼠標(biāo)小提示
作者:申旺
日期:2004/04/15
================================================================================
*/
?
?
//定義變量、設(shè)置默認(rèn)值
var LabelFontFace="宋體,arial,Verdana";
var LabelFontColor="#000000";
var LabelFontSize="9pt";
var LabelFontStyle="Font.PLAIN";
var LabelBorderColor="#000000";
var LabelBackColor="#FFFFE1";
?
?
//設(shè)置各個(gè)屬性
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=\"JavaScript:DoSomeThing(this);\">" + text + "</a>";
???????}
???????else
???????{
???????????return "<a href=\"#\" onMouseOver=\"ShowNote('" + note + "')\" onMouseOut=\"HideNote()\">" + text + "</a>";
???????}
}
(正則表達(dá)式版本)字符串操作函數(shù):
/*********************************************
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));
}
轉(zhuǎn)載于:https://www.cnblogs.com/Look_Sun/archive/2010/11/18/1880863.html
總結(jié)
以上是生活随笔為你收集整理的JavaScript类库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IIS6.0下配置HTTP Gzip压缩
- 下一篇: Flash/Flex学习笔记(2):捕获