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个字母


 


 


    作者:申旺

    日期:2004/04/14

*/



 


 


/*

==================================================================

字符串操作

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("&","&amp;");

       str
=str.replace("<","&lt;");

       str
=str.replace(">","&gt;");

       str
=str.replace("'","&apos;");

       str
=str.replace("\"","&quot;");

       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+=
"&nbsp;"+str+"&nbsp;";

    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: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判断数字 
  
function  cTrim(sInputString,iType)
             
{
    
var sTmpStr = ' '
    
var i = -1
    
if(iType == 0 || iType == 1)
    
{
     
while(sTmpStr == ' ')
     
{
      
++i
      sTmpStr 
= sInputString.substr(i,1)
     }

     sInputString 
= sInputString.substring(i)
    }

    
if(iType == 0 || iType == 2)
    
{
     sTmpStr 
= ' '
     i 
= sInputString.length
     
while(sTmpStr == ' ')
     
{
      
--i
      sTmpStr 
= sInputString.substr(i,1)
     }

     sInputString 
= sInputString.substring(0,i+1)
    }

    
return sInputString;
             }




if  (isNaN(docform.txtFaultFirstEliminateTimes.value) == true   ||  cTrim(docform.txtFaultFirstEliminateTimes.value, 0 ) == ""





alert(
"只能是数字");
 

return ; 


}


本文转自高海东博客园博客,原文链接:http://www.cnblogs.com/ghd258/archive/2006/02/15/330844.html,如需转载请自行联系原作者
相关文章
|
29天前
|
移动开发 JavaScript 前端开发
一些处理浏览器兼容性问题的JavaScript库
这些库在处理浏览器兼容性问题方面都有着各自的特点和优势,可以根据具体的需求和项目情况选择合适的库来使用,从而提高代码的兼容性和稳定性,为用户提供更好的体验。同时,随着浏览器技术的不断发展,还需要持续关注和学习新的兼容性解决方案。
104 48
|
28天前
|
JavaScript 前端开发
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
|
28天前
|
CDN
如何在项目中使用Moment.js库?
如何在项目中使用Moment.js库?
|
29天前
|
JavaScript 前端开发
如何在不影响性能的前提下使用JavaScript库来实现复杂的动画效果?
如何在不影响性能的前提下使用JavaScript库来实现复杂的动画效果?
|
29天前
|
算法 开发者
Moment.js库是如何处理不同浏览器的时间戳格式差异的?
总的来说,Moment.js 通过一系列的技术手段和策略,有效地处理了不同浏览器的时间戳格式差异,为开发者提供了一个稳定、可靠且易于使用的时间处理工具。
35 1
|
1月前
|
JavaScript 前端开发 搜索推荐
Moment.js、Day.js、Miment,日期时间库怎么选?
【10月更文挑战第29天】如果你需要一个功能强大、插件丰富的日期时间库,并且对性能要求不是特别苛刻,Moment.js是一个不错的选择;如果你追求极致的轻量级和高性能,那么Day.js可能更适合你;而如果你有一些特定的日期时间处理需求,并且希望在性能和功能之间取得平衡,Miment也是可以考虑的。
|
1月前
|
存储 JavaScript 前端开发
decimal.js库的安装和使用方法
【10月更文挑战第24天】decimal.js 是一个非常实用的高精度计算库,通过合理的安装和使用,可以在 JavaScript 中实现精确的数值计算和处理。你可以根据具体的需求和项目情况,灵活运用该库来解决数字精度丢失的问题。
|
2月前
|
JavaScript 前端开发 开发者
jQuery:JavaScript库的瑰宝
jQuery:JavaScript库的瑰宝
55 3
|
2月前
|
JavaScript 前端开发 API
深入了解jQuery:快速、高效的JavaScript库
【10月更文挑战第11天深入了解jQuery:快速、高效的JavaScript库
28 0
|
2月前
|
缓存 JavaScript 前端开发
JavaScript 库
JavaScript 库
27 0
下一篇
DataWorks