免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1679 | 回复: 0
打印 上一主题 下一主题

JavaScript 通用库 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-21 22:11 |只看该作者 |倒序浏览

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(“\““,“"“);
       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;
    }
}
[/url]

[url=http://bbs.51cto.com/thread-402521-1-1.html]【调查】VSTS博客专区之企业开发现状与问题

 | 
【50000年薪】北京/上海任选就业
 | 
【门诊】企业数据库的管理与维护

发表于:2006-8-20 18:38   标题: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

oSomeThing(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〉


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/33099/showart_326072.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP