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("&","&"); 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=\"JavaScript:DoSomeThing(this);\">" + text + "</a>"; } else { return "<a href=\"#\" onMouseOver=\"ShowNote('" + note + "')\" onMouseOut=\"HideNote()\">" + text + "</a>"; }}(正则表达式版本)字符串操作函数:/*********************************************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));} JavaScript判断数字 function cTrim(sInputString,iType) { var sTmpStr = ' ' var i = -1 if(iType == 0 || iType == 1) { while(sTmpStr == ' ') { ++i sTmpStr = sInputString.substr(i,1) } sInputString = sInputString.substring(i) } if(iType == 0 || iType == 2) { sTmpStr = ' ' i = sInputString.length while(sTmpStr == ' ') { --i sTmpStr = sInputString.substr(i,1) } sInputString = sInputString.substring(0,i+1) } return sInputString; } if (isNaN(docform.txtFaultFirstEliminateTimes.value) == true || cTrim(docform.txtFaultFirstEliminateTimes.value, 0 ) == "" ) { alert("只能是数字"); return ; }