通用javascript脚本函数库 方便开发


Posted in Javascript onOctober 13, 2009

将下面代码保存为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>
Javascript 相关文章推荐
JavaScript面向对象编程
Mar 02 Javascript
JavaScript 事件记录使用说明
Oct 20 Javascript
重构Javascript代码示例(重构前后对比)
Jan 23 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
Feb 02 Javascript
jquery序列化表单去除指定元素示例代码
Apr 10 Javascript
setTimeout()递归调用不加引号出错的解决方法
Sep 05 Javascript
vue.js初学入门教程(1)
Nov 03 Javascript
微信小程序实现渐入渐出动画效果
Jun 13 Javascript
JS/jQuery实现超简单的Table表格添加,删除行功能示例
Jul 31 jQuery
JS实现电商商品展示放大镜特效
Jan 07 Javascript
微信小程序自定义底部弹出框功能
Nov 18 Javascript
Vue如何实现组件间通信
May 15 Vue.js
jquery pagination插件实现无刷新分页代码
Oct 13 #Javascript
让iframe子窗体取父窗体地址栏参数(querystring)
Oct 13 #Javascript
百度留言本js 大家可以参考下
Oct 13 #Javascript
javascript hashtable实现代码
Oct 13 #Javascript
JavaScript 核心参考教程 内置对象
Oct 13 #Javascript
jQuery Ajax之load()方法
Oct 12 #Javascript
jQuery Ajax之$.get()方法和$.post()方法
Oct 12 #Javascript
You might like
给初学PHP的5个入手程序
2006/11/23 PHP
学习php笔记 字符串处理
2010/10/19 PHP
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
javascript parseInt与Number函数的区别
2010/01/21 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
JS图像无缝滚动脚本非常好用
2014/02/10 Javascript
jQuery实现网站添加高亮突出显示效果的方法
2015/06/26 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
2016/09/23 Javascript
JavaScript交换两个变量值的七种解决方案
2016/12/01 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
基于JavaScript实现抽奖系统
2018/01/16 Javascript
Python中用altzone()方法处理时区的教程
2015/05/22 Python
详解duck typing鸭子类型程序设计与Python的实现示例
2016/06/03 Python
Python黑魔法@property装饰器的使用技巧解析
2016/06/16 Python
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
python实现杨氏矩阵查找
2019/03/02 Python
详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)
2019/08/06 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
pymysql的简单封装代码实例
2020/01/08 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
HTML5学习笔记之html5与传统html区别
2016/01/06 HTML / CSS
波兰在线儿童和婴儿用品零售商:pinkorblue
2019/06/29 全球购物
欧克利英国官网:Oakley英国
2019/08/24 全球购物
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
大学生求职简历的自我评价
2013/10/21 职场文书
大学军训感言1000字
2014/02/25 职场文书
大型主题婚礼活动策划方案
2014/09/15 职场文书
2014党员干部四风问题对照检查材料思想汇报
2014/09/24 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
2014年汽车销售工作总结
2014/12/01 职场文书
幼师个人总结范文
2015/02/28 职场文书
无房证明样本
2015/06/17 职场文书
MySQL GRANT用户授权的实现
2021/06/18 MySQL