常用 JavaScript 函数集合

///日期格式化
function formatDate(sDate) {
     var sScrap = "";
     if ((sDate.indexOf("-") != -1) && (sDate.indexOf("/") == -1))
     {
           var re=/-/i;
           sDate=sDate.replace(re,"/");
     }
    
     var dScrap = new Date(sDate);      
     if (dScrap == "NaN") return sScrap;
    
     iDay = dScrap.getDate();
     iMon = dScrap.getMonth();
     iYea = dScrap.getFullYear();

     sScrap = iYea + "/" + (iMon + 1) + "/" + iDay ;
     return sScrap;
}


//此函数用于计算date2 -date1所得的天数。
function dateDiff(date1,date2)
{
     var diff;
     var timeDiff;
     var dateTmp;
     dateTmp=new Date(date2);
     diff=dateTmp.getTime();
     dateTmp=new Date(date1);
     timeDiff=diff - dateTmp.getTime();
     diff = parseInt(Math.floor(timeDiff / (1000 * 60 * 60 * 24)));
     diff++;
     return diff;
}


/*去除字符串空格的函数*/
function Trim(s)
{
     var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
     return (m == null) ? "" : m[1];
}


/* 实现了中英文混合字符串取长度*/
/* 取得字符串的字节长度     */
function strLen(str)
{
     if(str==null) return 0;
     var i;
     var len;
     var strTmp;
     strTmp=str;
     len = 0;
     for (i=0;i     {
           if (strTmp.charCodeAt(i)>255) len+=2;
           else len++;
     }
     return len;
}


/* 检测字符串是否为空 */
function isNull(str)
{
     var i;
     var strTmp;
     strTmp=str;
     for (i=0;i     {
           if (strTmp.charAt(i)!=' ') return false;
     }
     return true;
}


/* 检测字符串是否全为数字 */
function isNumber(str)
{
     var number;
     if (str==null) return false;
     if (str=="") return false;
     number = new Number(str);
     if (isNaN(number))
     {
           return false;
     }
     else
           return true;
}


/* 检测字符串是否为整数*/
function isInt(str)
{
    
     var strInt;
     strInt=Trim(str);
     if(parseInt(strInt)==NaN)
     {
           return false;
     }
     if(parseInt(strInt).toString()!=strInt)
     {
           return false;
     }
     return true;
}


/* 检测字符串是否为自然数*/
function isNaturalNumber (str)
{
     var strInt;
     strInt=Trim(str);
     if(parseInt(strInt)==NaN)
     {
           return false;
     }
     if(parseInt(strInt).toString()!=strInt)
     {
           return false;
     }
     if(parseInt(strInt)<=0)
     {
           return false;
     }
     return true;
}


///第一个参数是待格式化的数值,第二个是保留小数位数注意:返回的是字符串类型
function adv_format(value,num) //四舍五入
{
     //先判断是否需要四舍五入
     if(num>0)
     {
           var value1 = value + "";
           var dotIndex = value.indexOf(".");
           if(dotIndex==-1)
                 return value;
           else
           {
                 if(dotIndex + num + 1 == value.length)
                       return value;
                 else
                 {
                       var float = takeOut(value);
                       float = Math.round(float*Math.pow(10,num))/Math.pow(10,num);
                       return float;
                 }
           }
    
     }
     else
           return Math.round(takeOut(value));
}

function formatnumber(value,num) //直接去尾
{
     var a,b,c,i
     a = value.toString();
     b = a.indexOf('.');
     c = a.length;
     if (num==0)
     {
           if (b!=-1)
                 a = a.substring(0,b);
     }
     else
     {
           if (b==-1)
           {
                 a = a + ".";
                 for (i=1;i<=num;i++)
                 a = a + "0";
           }
           else
           {
                 a = a.substring(0,b+num+1);
                 for (i=c;i<=b+num;i++)
                       a = a + "0";
           }
     }
     return a
}



//为数值增加分节符函数
function commafy(num)
{
     num = num+"";
     var re=/(-?\d+)(\d{3})/
     var indexPoint = num.indexOf(".");
     if(indexPoint >= 0)
     {
           var numB = num.split(".")[0];
           var numE = num.split(".")[1];
           while(re.test(numB)){
                 numB=numB.replace(re,"$1,$2")
           }
          
           num = numB + "." + numE;
     }
     else
     {
           while(re.test(num)){
                 num=num.replace(re,"$1,$2")
           }
     }
    
    
     return num;
}


//删除数值型字符串中的逗号分隔符
function takeOut(val)
{
     var i;
     var j;
     j=parseInt(val.length/3) +1;
     val = val.replace("¥","");
     for (i=0;i<=j;i++)
     {
           val=val.replace(',',"");
     }
     return val
}
[本日志由 parno 于 2007-06-24 02:28 PM 编辑]
上一篇: CSS手册简编
下一篇: FCKeditor 使用指南及 JavaScript 调用
文章来自: 网络
引用通告: 查看所有引用 | 我要引用此文章
Tags: javascript
相关日志:
评论: 0 | 引用: 0 | 查看次数: 7271