文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 招聘 专题 新闻
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» 技术白皮书 » WEB » JavaScript 通用库(一)       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: JavaScript 通用库(一)  ( 查看:6657  回复:12 )   
 
danni505
主版主  点击可查看详细


帖子 1490
精华 7
无忧币 8610
积分 6767
阅读权限 150
来自 (保密)
注册日期 2006-5-1
最后登录 2008-5-8 离线

[查看资料]  [发短消息]  [Blog
[个人主页]    QQ    ICQ 状态     
发表于:2006-8-20 18:38   标题: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(“\““,“"“);
       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;
    }
}



『 天道酬勤 』      君子之行,静以修身,俭以养德。非淡泊无以明志,非宁静无以致远。

2006-8-20 18:381楼
[ 顶部 ]
 
eth4
新新人类  点击可查看详细



帖子 90
精华 0
无忧币 8
积分 90
阅读权限 20
注册日期 2006-9-3
最后登录 2006-9-9 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2006-9-9 02:54 
ding
2006-9-9 02:542楼
[ 顶部 ]
 
melody_vtd
技术员  点击可查看详细


十二生肖之牛   狮子座   行业勋章   技术勋章   诚信兄弟  
帖子 375
精华 0
无忧币 392
积分 423
阅读权限 30
注册日期 2006-9-26
最后登录 2008-5-17 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2006-12-21 21:55 
支持
2006-12-21 21:553楼
[ 顶部 ]
 
haj_21
新新人类  点击可查看详细



帖子 3
精华 0
无忧币 13
积分 13
阅读权限 20
注册日期 2006-11-23
最后登录 2008-2-24 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-1-24 05:11 
ding



千里之外,传递你对震灾人民的关怀
2007-1-24 05:114楼
[ 顶部 ]
 
lhd668
新新人类  点击可查看详细



帖子 37
精华 0
无忧币 40
积分 37
阅读权限 20
注册日期 2007-2-11
最后登录 2007-2-12 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-2-12 00:56 
学习



千里之外,传递你对震灾人民的关怀
2007-2-12 00:565楼
[ 顶部 ]
 
caihuating
新新人类  点击可查看详细



帖子 3
精华 0
无忧币 5
积分 3
阅读权限 20
注册日期 2007-4-4
最后登录 2007-9-15 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-4-4 12:07 
谢谢!



千里之外,传递你对震灾人民的关怀
2007-4-4 12:076楼
[ 顶部 ]
 
caihuating
新新人类  点击可查看详细



帖子 3
精华 0
无忧币 5
积分 3
阅读权限 20
注册日期 2007-4-4
最后登录 2007-9-15 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-4-4 12:08 
谢谢!



千里之外,传递你对震灾人民的关怀
2007-4-4 12:087楼
[ 顶部 ]
 
iltaek
新新人类  点击可查看详细



帖子 41
精华 0
无忧币 1
积分 71
阅读权限 20
注册日期 2006-5-29
最后登录 2007-5-19 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-4-7 15:07 
好帖  谢谢



千里之外,传递你对震灾人民的关怀
2007-4-7 15:078楼
[ 顶部 ]
 
zly012
新新人类  点击可查看详细



帖子 5
精华 0
无忧币 19
积分 5
阅读权限 20
注册日期 2007-6-4
最后登录 2007-6-20 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-6-13 09:52 
我又学到点东东。谢谢1



千里之外,传递你对震灾人民的关怀
2007-6-13 09:529楼
[ 顶部 ]
 
silver
新新人类  点击可查看详细



帖子 5
精华 0
无忧币 11
积分 5
阅读权限 20
注册日期 2008-1-3
最后登录 2008-1-3 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-1-3 17:13 
我也想写一个



千里之外,传递你对震灾人民的关怀
2008-1-3 17:1310楼
[ 顶部 ]
 
cljspn
新新人类  点击可查看详细



帖子 5
精华 0
无忧币 13
积分 5
阅读权限 20
注册日期 2008-3-4
最后登录 2008-3-17 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-3-4 08:58 
好东西呀。



千里之外,传递你对震灾人民的关怀
2008-3-4 08:5811楼
[ 顶部 ]
 
icetree5
新新人类  点击可查看详细



帖子 2
精华 0
无忧币 4
积分 2
阅读权限 20
注册日期 2008-4-20
最后登录 2008-4-20 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-4-20 03:12 
谢谢~
学习了~



千里之外,传递你对震灾人民的关怀
2008-4-20 03:1212楼
[ 顶部 ]
 
vagal.c
技术员  点击可查看详细


十二生肖之鸡   天秤座   行业勋章   技术勋章   诚信兄弟  
帖子 246
精华 0
无忧币 251
积分 246
阅读权限 30
注册日期 2007-9-16
最后登录 2008-5-17 离线

[查看资料]  [发短消息]  [Blog
  QQ       
发表于:2008-5-17 12:19 
可以 路过。。。。/。



千里之外,传递你对震灾人民的关怀
2008-5-17 12:1913楼
[ 顶部 ]
     
论坛跳转:  

| | |

| | |

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号