通用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 相关文章推荐
关于extjs4如何获取grid修改后的数据的问题
Aug 07 Javascript
js调用图片隐藏&amp;显示实现代码
Sep 13 Javascript
javascript中文本框中输入法切换的问题
Dec 10 Javascript
实现前后端数据交互方法汇总
Apr 07 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
Oct 09 Javascript
jQuery实现大图轮播
Feb 13 Javascript
基于react框架使用的一些细节要点的思考
May 31 Javascript
vue vue-Router默认hash模式修改为history需要做的修改详解
Sep 13 Javascript
基于Koa2写个脚手架模拟接口服务的方法
Nov 27 Javascript
150行代码带你实现微信小程序中的数据侦听
May 17 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
Sep 18 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
Mar 26 Javascript
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
静态html文件执行php语句的方法(推荐)
2016/11/21 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
学习jquery必备 api中英文对照的chm手册 下载
2007/05/03 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
JS实现超精简响应鼠标显示二级菜单代码
2015/09/12 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
JavaScript事件学习小结(三)js事件对象
2016/06/09 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
详解Vue2.x-directive的学习笔记
2017/07/17 Javascript
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
Node.js中Bootstrap-table的两种分页的实现方法
2017/09/18 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
react 国际化的实现代码示例
2018/09/14 Javascript
css配合JavaScript实现tab标签切换效果
2018/10/11 Javascript
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
2019/05/27 Javascript
小程序和web画三角形实现解析
2019/09/02 Javascript
Nodejs监控事件循环异常示例详解
2019/09/22 NodeJs
[01:13:17]Secret vs NB 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python 查找字符在字符串中的位置实例
2018/05/02 Python
利用Python如何批量更新服务器文件
2018/07/29 Python
基于django 的orm中非主键自增的实现方式
2020/05/18 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
python ssh 执行shell命令的示例
2020/09/29 Python
介绍一下write命令
2014/08/10 面试题
办理居住证介绍信
2014/01/15 职场文书
学校安全教育制度
2014/01/31 职场文书
四年级语文教学反思
2014/02/05 职场文书
2014年基层党组织公开承诺书
2014/03/29 职场文书
活动总结报告范文
2014/05/04 职场文书
银行竞聘演讲稿
2014/05/16 职场文书
党支部综合考察意见
2015/06/01 职场文书
2016年寒假政治学习心得体会
2015/10/09 职场文书
大学生安全教育心得体会
2016/01/15 职场文书
导游词之香港-太平山顶
2019/10/18 职场文书