javascript函数库

来源:互联网 发布:mobi域名开始多少年了 编辑:程序博客网 时间:2024/04/30 14:04
javascript函数库

/*

-------------- 函数检索 --------------
trim函数:                         trim() lTrim() rTrim()
校验字符串是否为空:                 checkIsNotEmpty(str)
校验字符串是否为整型:               checkIsInteger(str)
校验整型最小值:                    checkIntegerMinValue(str,val)
校验整型最大值:                    checkIntegerMaxValue(str,val)
校验整型是否为非负数:               isNotNegativeInteger(str)
校验字符串是否为浮点型:             checkIsDouble(str)
校验浮点型最小值:                  checkDoubleMinValue(str,val)
校验浮点型最大值:                  checkDoubleMaxValue(str,val)
校验浮点型是否为非负数:             isNotNegativeDouble(str)
校验字符串是否为日期型:             checkIsValidDate(str)
校验两个日期的先后:                checkDateEarlier(strStart,strEnd)
校验字符串是否为email型:           checkEmail(str)

校验字符串是否为中文:               checkIsChinese(str)
计算字符串的长度,一个汉字两个字符:   realLength()
校验字符串是否符合自定义正则表达式:   checkMask(str,pat)
得到文件的后缀名:                   getFilePostfix(oFile)
-------------- 函数检索 --------------
*/

/**
* added by LxcJie 2004.6.25
* 去除多余空格函数
* trim:去除两边空格 lTrim:去除左空格 rTrim: 去除右空格
* 用法:
*     var str = "  hello ";
*     str = str.trim();
*/
String.prototype.trim = function()
{
    return this.replace(/(^[//s]*)|([//s]*$)/g, "");
}
String.prototype.lTrim = function()
{
    return this.replace(/(^[//s]*)/g, "");
}
String.prototype.rTrim = function()
{
    return this.replace(/([//s]*$)/g, "");
}
/********************************** Empty **************************************/
/**
*校验字符串是否为空
*返回值:
*如果不为空,定义校验通过,返回true
*如果为空,校验不通过,返回false               参考提示信息:输入域不能为空!
*/
function checkIsNotEmpty(str)
{
    if(str.trim() == "")
        return false;
    else
        return true;
}//~~~
/*--------------------------------- Empty --------------------------------------*/
/********************************** Integer *************************************/
/**
*校验字符串是否为整型
*返回值:
*如果为空,定义校验通过,      返回true
*如果字串全部为数字,校验通过,返回true
*如果校验不通过,              返回false     参考提示信息:输入域必须为数字!
*/
function checkIsInteger(str)
{
    //如果为空,则通过校验
    if(str == "")
        return true;
    if(/^(//-?)(//d+)$/.test(str))
        return true;
    else
        return false;
}//~~~
/**
*校验整型最小值
*str:要校验的串。  val:比较的值
*
*返回值:
*如果为空,定义校验通过,                返回true
*如果满足条件,大于等于给定值,校验通过,返回true
*如果小于给定值,                        返回false              参考提示信息:输入域不能小于给定值!
*/
function checkIntegerMinValue(str,val)
{
    //如果为空,则通过校验
    if(str == "")
        return true;
    if(typeof(val) != "string")
        val = val + "";
    if(checkIsInteger(str) == true)
    {
        if(parseInt(str,10)>=parseInt(val,10))
            return true;
        else
            return false;
    }
    else
        return false;
}//~~~
/**
*校验整型最大值
*str:要校验的串。  val:比较的值
*
*返回值:
*如果为空,定义校验通过,                返回true
*如果满足条件,小于等于给定值,校验通过,返回true
*如果大于给定值,                        返回false       参考提示信息:输入值不能大于给定值!
*/
function checkIntegerMaxValue(str,val)
{
    //如果为空,则通过校验
    if(str == "")
        return true;
    if(typeof(val) != "string")
        val = val + "";
    if(checkIsInteger(str) == true)
    {
        if(parseInt(str,10)<=parseInt(val,10))
            return true;
        else
            return false;
    }
    else
        return false;
}//~~~
/**
*校验整型是否为非负数
*str:要校验的串。
*
*返回值:
*如果为空,定义校验通过,返回true
*如果非负数,            返回true
*如果是负数,            返回false               参考提示信息:输入值不能是负数!
*/
function isNotNegativeInteger(str)
{
    //如果为空,则通过校验
    if(str == "")
        return true;
    if(checkIsInteger(str) == true)
    {
        if(parseInt(str,10) < 0)
            return false;
        else
            return true;
    }
    else
        return false;
}//~~~
/*--------------------------------- Integer --------------------------------------*/
/********************************** Double ****************************************/
/**
*校验字符串是否为浮点型
*返回值:
*如果为空,定义校验通过,      返回true
*如果字串为浮点型,校验通过,  返回true
*如果校验不通过,              返回false     参考提示信息:输入域不是合法的浮点数!
*/
function checkIsDouble(str)
{
    //如果为空,则通过校验
    if(str == "")
        return true;
    //如果是整数,则校验整数的有效性
    if(str.indexOf(".") == -1)
    {
        if(checkIsInteger(str) == true)
            return true;
        else
            return false;
    }
    else
    {
        if(/^(//-?)(//d+)(.{1})(//d+)$/g.test(str))
            return true;
        else
            return false;
    }
}//~~~
/**
*校验浮点型最小值
*str:要校验的串。  val:比较的值
*
*返回值:
*如果为空,定义校验通过,                返回true
*如果满足条件,大于等于给定值,校验通过,返回true
*如果小于给定值,                        返回false              参考提示信息:输入域不能小于给定值!
*/
function checkDoubleMinValue(str,val)
{
    //如果为空,则通过校验
    if(str == "")
        return true;
    if(typeof(val) != "string")
        val = val + "";
    if(checkIsDouble(str) == true)
    {
        if(parseFloat(str)>=parseFloat(val))
            return true;
        else
            return false;
    }
    else
        return false;
}//~~~
/**
*校验浮点型最大值
*str:要校验的串。  val:比较的值
*
*返回值:
*如果为空,定义校验通过,                返回true
*如果满足条件,小于等于给定值,校验通过,返回true
*如果大于给定值,                        返回false       参考提示信息:输入值不能大于给定值!
*/
function checkDoubleMaxValue(str,val)
{
    //如果为空,则通过校验
    if(str == "")
        return true;
    if(typeof(val) != "string")
        val = val + "";
    if(checkIsDouble(str) == true)
    {
        if(parseFloat(str)<=parseFloat(val))
            return true;
        else
            return false;
    }
    else
        return false;
}//~~~
/**
*校验浮点型是否为非负数
*str:要校验的串。
*
*返回值:
*如果为空,定义校验通过,返回true
*如果非负数,            返回true
*如果是负数,            返回false               参考提示信息:输入值不能是负数!
*/
function isNotNegativeDouble(str)
{
    //如果为空,则通过校验
    if(str == "")
        return true;
    if(checkIsDouble(str) == true)
    {
        if(parseFloat(str) < 0)
            return false;
        else
            return true;
    }
    else
        return false;
}//~~~
/*--------------------------------- Double ---------------------------------------*/
/********************************** date ******************************************/
/**
*校验字符串是否为日期型
*返回值:
*如果为空,定义校验通过,           返回true
*如果字串为日期型,校验通过,       返回true
*如果日期不合法,                   返回false    参考提示信息:输入域的时间不合法!(yyyy-MM-dd)
*/
function checkIsValidDate(str)
{
    //如果为空,则通过校验
    if(str == "")
        return true;
    var pattern = /^((//d{4})|(//d{2}))-(//d{1,2})-(//d{1,2})$/g;
    if(!pattern.test(str))
        return false;
    var arrDate = str.split("-");
    if(parseInt(arrDate[0],10) < 100)
        arrDate[0] = 2000 + parseInt(arrDate[0],10) + "";
    var date =  new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]);
    if(date.getYear() == arrDate[0]
       && date.getMonth() == (parseInt(arrDate[1],10) -1)+""
       && date.getDate() == arrDate[2])
        return true;
    else
        return false;
}//~~~
/**
*校验两个日期的先后
*返回值:
*如果其中有一个日期为空,校验通过,          返回true
*如果起始日期早于等于终止日期,校验通过,   返回true
*如果起始日期晚于终止日期,                 返回false    参考提示信息: 起始日期不能晚于结束日期。
*/
function checkDateEarlier(strStart,strEnd)
{
    if(checkIsValidDate(strStart) == false || checkIsValidDate(strEnd) == false)
        return false;
    //如果有一个输入为空,则通过检验
    if (( strStart == "" ) || ( strEnd == "" ))
        return true;
    var arr1 = strStart.split("-");
    var arr2 = strEnd.split("-");
    var date1 = new Date(arr1[0],parseInt(arr1[1].replace(/^0/,""),10) - 1,arr1[2]);
    var date2 = new Date(arr2[0],parseInt(arr2[1].replace(/^0/,""),10) - 1,arr2[2]);
    if(arr1[1].length == 1)
        arr1[1] = "0" + arr1[1];
    if(arr1[2].length == 1)
        arr1[2] = "0" + arr1[2];
    if(arr2[1].length == 1)
        arr2[1] = "0" + arr2[1];
    if(arr2[2].length == 1)
        arr2[2]="0" + arr2[2];
    var d1 = arr1[0] + arr1[1] + arr1[2];
    var d2 = arr2[0] + arr2[1] + arr2[2];
    if(parseInt(d1,10) > parseInt(d2,10))
       return false;
    else
       return true;
}//~~~
/*--------------------------------- date -----------------------------------------*/
/********************************** email *****************************************/
/**
*校验字符串是否为email型
*返回值:
*如果为空,定义校验通过,           返回true
*如果字串为email型,校验通过,      返回true
*如果email不合法,                  返回false    参考提示信息:Email的格式不正確!
*/
function checkEmail(str)
{
    //如果为空,则通过校验
    if(str == "")
        return true;
    if (str.charAt(0) == "." || str.charAt(0) == "@" || str.indexOf(/'@/', 0) == -1
        || str.indexOf(/'./', 0) == -1 || str.lastIndexOf("@") == str.length-1 || str.lastIndexOf(".") == str.length-1)
        return false;
    else
        return true;
}//~~~
/*--------------------------------- email ----------------------------------------*/
/********************************** chinese ***************************************/
/**
*校验字符串是否为中文
*返回值:
*如果为空,定义校验通过,           返回true
*如果字串为中文,校验通过,         返回true
*如果字串为非中文,             返回false    参考提示信息:必须为中文!
*/
function checkIsChinese(str)
{
    //如果值为空,通过校验
    if (str == "")
        return true;
    var pattern = /^([//u4E00-//u9FA5]|[//uFE30-//uFFA0])*$/gi;
    if (pattern.test(str))
        return true;
    else
        return false;
}//~~~
/**
* 计算字符串的长度,一个汉字两个字符
*/
String.prototype.realLength = function()
{
  return this.replace(/[^//x00-//xff]/g,"**").length;
}
/*--------------------------------- chinese --------------------------------------*/
/********************************** mask ***************************************/
/**
*校验字符串是否符合自定义正则表达式
*str 要校验的字串  pat 自定义的正则表达式
*返回值:
*如果为空,定义校验通过,           返回true
*如果字串符合,校验通过,           返回true
*如果字串不符合,                   返回false    参考提示信息:必须满足***模式
*/
function checkMask(str,pat)
{
    //如果值为空,通过校验
    if (str == "")
        return true;
    var pattern = new RegExp(pat,"gi")
    if (pattern.test(str))
        return true;
    else
        return false;
}//~~~
/*--------------------------------- mask --------------------------------------*/
/********************************** file ***************************************/
/**
* added by LxcJie 2004.6.25
* 得到文件的后缀名
* oFile为file控件对象
*/
function getFilePostfix(oFile)
{
    if(oFile == null)
        return null;
    var pattern = /(.*)//.(.*)$/gi;
    if(typeof(oFile) == "object")
    {
        if(oFile.value == null || oFile.value == "")
            return null;
        var arr = pattern.exec(oFile.value);
        return RegExp.$2;
    }
    else if(typeof(oFile) == "string")
    {
        var arr = pattern.exec(oFile);
        return RegExp.$2;
    }
    else
        return null;
 

 几种常用的JavaScript表单输入判断

//函数名:chksafe
//功能介绍:检查是否含有"'",'//',"/"
//参数说明:要检查的字符串
//返回值:0:是  1:不是
function chksafe(a)
{
 return 1;
/* fibdn = new Array ("'" ,"//", "、", ",", ";", "/");
 i=fibdn.length;
 j=a.length;
 for (ii=0;ii<i;ii++)
 { for (jj=0;jj<j;jj++)
  { temp1=a.charAt(jj);
   temp2=fibdn[ii];
   if (tem';p1==temp2)
   { return 0; }
  }
 }
 return 1;
*/
}

//函数名:chkspc
//功能介绍:检查是否含有空格
//参数说明:要检查的字符串
//返回值:0:是  1:不是
function chkspc(a)
{
 var i=a.length;
 var j = 0;
 var k = 0;
 while (k<i)
 {
  if (a.charAt(k) != " ")
   j = j+1;
  k = k+1;
 }
 if (j==0)
 {
  return 0;
 }
 
 if (i!=j)
 { return 2; }
 else
 {
  return 1;
 }
}


//函数名:chkemail
//功能介绍:检查是否为Email Address
//参数说明:要检查的字符串
//返回值:0:不是  1:是
function chkemail(a)
{ var i=a.length;
 var temp = a.indexOf('@');
 var tempd = a.indexOf('.');
 if (temp > 1) {
  if ((i-temp) > 3){
  
    if ((i-tempd)>0){
     return 1;
    }
  
  }
 }
 return 0;
}

//opt1 小数     opt2   负数
//当opt2为1时检查num是否是负数
//当opt1为1时检查num是否是小数
//返回1是正确的,0是错误的
function chknbr(num,opt1,opt2)
{
 var i=num.length;
 var staus;
//staus用于记录.的个数
 status=0;
 if ((opt2!=1) && (num.charAt(0)=='-'))
 {
  //alert("You have enter a invalid number.");
  return 0;
 
 }
//当最后一位为.时出错
 if (num.charAt(i-1)=='.')
 {
  //alert("You have enter a invalid number.");
  return 0;
 }

 for (j=0;j<i;j++)
 {
  if (num.charAt(j)=='.')
  {
   status++;
  }
  if (status>1)
  {
  //alert("You have enter a invalid number.");
  return 0; 
  }
  if (num.charAt(j)<'0' || num.charAt(j)>'9' )
  {
   if (((opt1==0) || (num.charAt(j)!='.')) && (j!=0))
   {
    //alert("You have enter a invalid number.");
    return 0;
   }
  }
 }
 return 1;
}

//函数名:chkdate
//功能介绍:检查是否为日期
//参数说明:要检查的字符串
//返回值:0:不是日期  1:是日期
function chkdate(datestr)
{
 var lthdatestr
 if (datestr != "")
  lthdatestr= datestr.length ;
 else
  lthdatestr=0;
 
 var tmpy="";
 var tmpm="";
 var tmpd="";
 //var datestr;
 var status;
 status=0;
 if ( lthdatestr== 0)
  return 0


 for (i=0;i<lthdatestr;i++)
 { if (datestr.charAt(i)== '-')
  {
   status++;
  }
  if (status>2)
  {
   //alert("Invalid format of date!");
   return 0;
  }
  if ((status==0) && (datestr.charAt(i)!='-'))
  {
   tmpy=tmpy+datestr.charAt(i)
  }
  if ((status==1) && (datestr.charAt(i)!='-'))
  {
   tmpm=tmpm+datestr.charAt(i)
  }
  if ((status==2) && (datestr.charAt(i)!='-'))
  {
   tmpd=tmpd+datestr.charAt(i)
  }

 }
 year=new String (tmpy);
 month=new String (tmpm);
 day=new String (tmpd)
 //tempdate= new String (year+month+day);
 //alert(tempdate);
 if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2))
 {
  //alert("Invalid format of date!");
  return 0;
 }
 if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) )
 {
  //alert ("Invalid month or day!");
  return 0;
 }
 if (!((year % 4)==0) && (month==2) && (day==29))
 {
  //alert ("This is not a leap year!");
  return 0;
 }
 if ((month<=7) && ((month % 2)==0) && (day>=31))
 {
  //alert ("This month is a small month!");
  return 0;
 
 }
 if ((month>=8) && ((month % 2)==1) && (day>=31))
 {
  //alert ("This month is a small month!");
  return 0;
 }
 if ((month==2) && (day==30))
 {
  //alert("The Febryary never has this day!");
  return 0;
 }
 
 return 1;
}

//函数名:fucPWDchk
//功能介绍:检查是否含有非数字或字母
//参数说明:要检查的字符串
//返回值:0:含有 1:全部为数字或字母
function fucPWDchk(str)
{
  var strSource ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  var ch;
  var i;
  var temp;
 
  for (i=0;i<=(str.length-1);i++)
  {
 
    ch = str.charAt(i);
    temp = strSource.indexOf(ch);
    if (temp==-1)
    {
     return 0;
    }
  }
  if (strSource.indexOf(ch)==-1)
  {
    return 0;
  }
  else
  {
    return 1;
  }
}

function jtrim(str)
{     while (str.charAt(0)==" ")
          {str=str.substr(1);}    
     while (str.charAt(str.length-1)==" ")
         {str=str.substr(0,str.length-1);}
     return(str);
}


//函数名:fucCheckNUM
//功能介绍:检查是否为数字
//参数说明:要检查的数字
//返回值:1为是数字,0为不是数字
function fucCheckNUM(NUM)
{
 var i,j,strTemp;
 strTemp="0123456789";
 if ( NUM.length== 0)
  return 0
 for (i=0;i<NUM.length;i++)
 {
  j=strTemp.indexOf(NUM.charAt(i));
  if (j==-1)
  {
  //说明有字符不是数字
   return 0;
  }
 }
 //说明是数字
 return 1;
}

//函数名:fucCheckTEL
//功能介绍:检查是否为电话号码
//参数说明:要检查的字符串
//返回值:1为是合法,0为不合法
function fucCheckTEL(TEL)
{
 var i,j,strTemp;
 strTemp="0123456789-()# ";
 for (i=0;i<TEL.length;i++)
 {
  j=strTemp.indexOf(TEL.charAt(i));
  if (j==-1)
  {
  //说明有字符不合法
   return 0;
  }
 }
 //说明合法
 return 1;
}

//函数名:fucCheckLength
//功能介绍:检查字符串的长度
//参数说明:要检查的字符串
//返回值:长度值
function fucCheckLength(strTemp)
{
 var i,sum;
 sum=0;
 for(i=0;i<strTemp.length;i++)
 {
  if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255))
   sum=sum+1;
  else
   sum=sum+2;
 }
 return sum;
}

 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1472531

[收藏到我的网摘]   thebesghost发表于 2007年01月02日 20:36:00



一,访问表单的方法

document.forms[表单索引号]               document.forms[“表单名”]                     document.表单名   document.getElementById(表单id)

Input元素的属性和方法:defaultValue   form  name  size  tabIndex   type   blur()   focus()

<imput type="button" onclick="say()">

function say()

{

   myForm.submit();

}

下拉列表的属性和方法:length  multiople  selectedIndex  size  options[]  value  add(element, before)

                                            remove(index)

二,表单验证

捕获表单的录入错误,有三种方法:1、在错误发生之前;2、当错误发生时;3、在错误发生之后

onsubmit="return validate();"

常用的表单校验有:校验控件是否为空;校验控件是否为数字;是否是某个系列是的数字;是否是某种形式的数字

                                    是否是某个范围内的字符;是否是一个email地址或者信用卡数字等

三、XML基础

1、XML  语法规则

一个XML文档由两个部分组成:序言和文档元素。其中,序言包括XML文档声明、注释、空白;

XML文档声明:<?xml version = "1.0"  encoding = "UTT-8"  standalone = "yes" ?>

XML文档注释: <!--这是注释-->

XML元素:一个开始标记,然后是元素内容,最后是结束标记

PCDATA:被解析的文本

CDATA:不被解析的文本

2、XML技术体系包含:文档描述与校验技术(DTD/SCHEMA)

                                          文档转换技术(XSL/XSLT)

                                          文档查询技术(XPath/XQuery)     文档编程接口(XMLDOM/SAX)     文档链接和定位技术

3、 XML的应用:数据交换;eb服务;内容管理;eb集成 ;系统配置


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1103770


 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;   

    }

}
 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1472529


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

       }

}

 

 

 

测试页面:

<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>
 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1472528