`
coolpep
  • 浏览: 80508 次
社区版块
存档分类
最新评论

JavaScript通用库

 
阅读更多

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("&","&");

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

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

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

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;

}

}

JavaScript通用库(二)

/*

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>";

}

}







测试页面:

<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>
分享到:
评论

相关推荐

    JavaScript 通用库(一)

    JavaScript 通用库是一种为了简化开发工作,提高代码复用率而创建的集合,它包含了一系列常用的函数或方法,便于在不同的项目中应用。本篇主要介绍一个名为 `Common.js` 的 JavaScript 类库,该库提供了多种实用的...

    JavaScript 通用库

    JavaScript通用库是编程实践中常用的工具,它集合了一系列实用的函数,可以帮助开发者简化代码,提高开发效率。在Web开发中,JavaScript作为客户端脚本语言,它的通用库尤其重要,因为它们可以处理各种常见的任务,...

    javascript常用函数 javascript 常用库

    在JavaScript的常用库中,我们可以找到许多方便的公共方法,这些方法极大地提高了开发效率。 一、JavaScript常用函数 1. 数组操作函数 - `push()`: 向数组末尾添加一个或多个元素,并返回新长度。 - `pop()`: ...

    支持国密算法的JavaScript 通用密码库的实现.pdf

    本文主要讨论了一种支持国密算法(即中国的国家商用密码算法)的JavaScript通用密码库的实现,旨在提供一个跨平台、无需安装且具有良好兼容性的解决方案。 文章提到了三种国密算法:SM2、SM3和SM4。SM2是一种基于...

    如何写一个通用的JavaScript效果库!(1/2)

    在构建一个通用的JavaScript效果库时,首要任务是理解基本的动态效果,如改变元素的大小、位置、透明度和颜色。这些基本效果是构建更复杂动画的基础。考虑到已有的优秀JavaScript库,如Yahoo UI、Prototype的...

    JavaScript 函数库、工具类.zip

    JavaScript函数库和工具类是开发Web应用不可或缺的部分,它们提供了丰富的功能,可以帮助开发者更高效地编写代码。在"JavaScript 函数库、工具类.zip"这个压缩包中,包含了一个名为"xe-utils-master"的文件,这很...

    浅谈JavaScript 库———jQuery, ExtJs 的对比研究

    **JavaScript库**,也被称作JavaScript框架,是指一系列现成的JavaScript代码集合,它们通常包含各种工具、函数库和通用模块,旨在简化Web开发过程中的常见任务,提高开发效率。这些库大多是由开源社区开发并维护的...

    一些自寫通用的JS库

    标题 "一些自寫通用的JS库" 描述的是一个包含作者自行编写的JavaScript库的集合,这个库可能包含了各种实用的功能,比如自定义滚动条、文本高亮和元素颜色变化等。这些功能对于网页交互性和用户体验提升有重要作用,...

    jQuery通用方法库

    "jQuery通用方法库"标题表明这个压缩包包含了一个版本为1.4.2的jQuery核心库文件,这个版本在当时是相当流行且稳定的。 jQuery的核心理念是“写得更少,做得更多”,它的API设计简洁而直观,使得开发者能够用更少的...

    pinyin4js是一个汉字转拼音的Javascript开源库

    “JavaScript开发-其它杂项”标签表明这个库属于JavaScript开发工具的范畴,但可能不是专门用于某一特定领域,而是适用于各种杂项任务,如汉字拼音转换这类通用功能。 **文件名称列表分析:** 虽然未提供具体的...

    Web客户端统一验证JavaScript函数库组件概述Web客户端统一验证JavaScript函数库组件概述Web客户端统一验证JavaScript函数库组件概述Web客户端统一验证JavaScript函数库组件概述

    Web客户端统一验证JavaScript函数库组件是前端开发中一个至关重要的工具,它主要用于在用户提交数据前进行实时的数据验证,确保输入的信息符合预期的格式和规则,从而提高用户体验并减轻服务器端的压力。JavaScript...

    JavaScript开发webgis库源码

    在本库中,开发者借鉴了OpenLayers的部分通用函数。OpenLayers是一个开源的JavaScript库,专为构建交互式地图应用而设计。它提供了丰富的地图操作功能,如图层管理、瓦片地图、WMS服务支持等。通过借鉴OpenLayers的...

    js库_JavaScript库_doingng1_

    7. **工具函数**:库通常会提供一系列通用的工具函数,如字符串处理、数组操作、时间日期处理等,这些工具能大大简化开发过程。 8. **状态管理**:对于大型应用,库可能包括状态管理机制,如Redux或Vuex,帮助...

    normat通用javascript编号字符串格式化

    "normat"库就是为此目的设计的一个通用工具,它提供了方便的方法来处理和格式化各种类型的编号和字符串。这个库尤其适用于那些希望在前端或后端JavaScript环境中快速实现格式化功能的开发者。 在“normat”库中,...

    基于JavaScript核心的通用模块设计源码包

    本项目是一款基于JavaScript核心的通用模块设计源码包,集成了2009个文件,涵盖Java、CSS、JavaScript、HTML、Shell等多种编程语言。其中,Java源文件591个,CSS样式文件377个,PNG图片文件341个,JavaScript脚本...

    模块化的JavaScript库:Tangram.pdf

    2008年初,一些有想法的工程师利用项目闲暇时间,整理编写第一个通用JavaScript库:FE。FE库在百度社区类产品线得到较广泛的使用,从那时起逐渐形成了模块化、无侵入的设计思想。 设计原理 Tangram的设计原理是模块...

Global site tag (gtag.js) - Google Analytics