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个字母
/*
==================================================================
字符串操作
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+="
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封装成类的更多相关文章
- Directx11学习笔记【二】 将HelloWin封装成类
我们把上一个教程的代码封装到一个类中来方便以后的使用. 首先新建一个空工程叫做MyHelloWin,添加一个main.cpp文件,然后新建一个类叫做MyWindow,将于窗体有关的操作封装到里面 My ...
- PHP连接数据库:封装成类
php连接数据库,操作他增删改查等操作,其中要多次连接数据库,每个页面也需要连接数据库,更改数据会及其麻烦: 为了便于数据库的更改,我们可以把固定的那几句话封装成类,这样虽然代码量也差不多,但是有利于 ...
- python 日志的配置,python对日志封装成类,日志的调用
# python 日志的配置,python对日志封装成类,日志的调用 import logging # 使用logging模块: class CLog: # --------------------- ...
- PHPEXCEL在thinkphp中封装成类使用
PHPEXCEL在thinkphp中封装成类使用 标签: phpexcel导出导入thinkphp -- : 435人阅读 评论() 收藏 举报 分类: php() 版权声明:本文为博主原创文章,未经 ...
- php使用GD库实现图片水印和缩略图——封装成类
学完了如何使用GD库来实现对图片的各种处理,那么我们可以发现,不管哪种方法,都有相似之处,如果我们把这些相似的地方和不相似的地方都封装成类,这样就可以提升代码的速度,而且节省了很多时间,废话不多说,来 ...
- MOOC(7)- case依赖、读取json配置文件进行多个接口请求-读取json封装成类(13)
把读取json数据的函数封装成类 # -*- coding: utf-8 -*- # @Time : 2020/2/12 16:44 # @File : do_json_13.py # @Author ...
- 将Ajax 中数组转换成字符串 封装成类
<?php class Ajax{ //ajax调用的方法 //sql是要执行的语句 //$type是SQL语句的类型,0代表增删改,1代表查询 //$db代表要操作的数据 public fun ...
- php文件下载(解决文件下载后多几个字节的问题) 与封装成类的例子
php文件下载比较常见,网上的资料比较多,在此不再强调怎么去实现(因为也是网上看的).下面主要说明的是下载代码的注意点. php下载文件主要是把文件以字节流直接输出,也就是echo fread($fi ...
- python 将歌词解析封装成类,要求:提供一个方法(根据时间返回歌词) - 提示:封装两个类:歌词类、歌词管理类
自己写的 有更好方案的大佬可以讨论一下 import bisectclass Lrc(): def __init__(self, sec, lrc): self.sec = sec self.lrc ...
随机推荐
- 【poj1745】 Divisibility
http://poj.org/problem?id=1745 (题目链接) 题意 给出n串数,可以在其两两之间添加+或-,判断是否存在某种方案使得出的表达式的答案可以整除k. Solution 水题一 ...
- BZOJ2301 莫比乌斯反演
题意:a<=x<=b,c<=y<=d,求满足gcd(x,y)=k的数对(x,y)的数量 ((x,y)和(y,x)不算同一个) 比hdu1695多加了个下界,还有 ...
- HDU2096 小明A+B
入门级都没到的水题!看到顺便就做了,AC记录喜+1 Description 小明今年3岁了, 现在他已经能够认识100以内的非负整数, 并且能够进行100以内的非负整数的加法计算. 对于大于等于100 ...
- MySQL 存储过程传参之in, out, inout 参数用法
存储过程传参:存储过程的括号里,可以声明参数. 语法是 create procedure p([in/out/inout] 参数名 参数类型 ..) in :给参数传入值,定义的参数就得到了值 ou ...
- MyEclipse------黑科技
自动计算器(+,-,*,/) <form method="post" oninput="o.value = parseInt(a.value) + parseInt ...
- tomcat管理员配置
纸上得来终觉浅,绝知此事要躬行 博客园 首页 新闻 新随笔 联系 管理 随笔- 458 文章- 0 评论- 38 Tomcat的Manager显示403 Access Denied 管理to ...
- spark1.6配置sparksql 的元数据存储到postgresql中
1:首先配置hive-site.xml <configuration> <property> <name>javax.jdo.option.ConnectionUR ...
- (转)win32Application和win32ApplicationConsole
这几天在创建MFC项目时,常常遇到一下两个连接错误,例如: 1. LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _ma ...
- 论文的构思!姚小白的html5游戏设计开发与构思----给审核我论文的导师看的
此处只为笔记 游戏么基本上确定是用canvas做个能一只手玩的游戏!基本打飞机之类的.毕竟手机也就上下班玩玩的.上下班么基本就是一只手拉着扶手一只手撸啊撸! 当然啦,如果能搞出超级牛逼的游戏,比如刺客 ...
- javascript检验工具的比较
作者是 Jani Hartikainen,英文好的同学直接阅读原文. 原文 当写js代码的时候,一个校验工具可以帮助我避免愚蠢的错误.尽管我有许多年的经验,但是我仍然有变量命名不正确.产生语法错误以及 ...