js实现格式化金额,字符,时间的方法

本文实例讲述了js实现格式化金额,字符,时间的方法。分享给大家供大家参考。具体实现方法如下:

代码如下:

//金额转换成大写
     function toDaX(num){
        //金额大小写转换
           if (isNaN(num) || num > Math.pow(10, 12))
                    return "";
           var cn = "零壹贰叁肆伍陆柒捌玖";
           var unit = new Array("拾佰仟", "分角");
           var unit1 = new Array("万亿", "");
           if(parseFloat(num)==0||num==''){
               return "零圆";
           }
           var numArray = num.toString().split(".");
           var start = new Array(numArray[0].length - 1, 2);
           function toChinese(num, index) {
               var num = num.replace(/\d/g, function($1) {
                    return cn.charAt($1)+ unit[index].charAt(start-- % 4 ? start % 4 : -1);
                   });
               return num;
           }
           for ( var i = 0; i < numArray.length; i++) {
                var tmp = "";
                for ( var j = 0; j * 4 < numArray[i].length; j++) {
                   var strIndex = numArray[i].length - (j + 1) * 4;
                   var str = numArray[i].substring(strIndex, strIndex + 4);
                   var start = i ? 2 : str.length - 1;
                   var tmp1 = toChinese(str, i);
                   tmp1 = tmp1.replace(/(零.)+/g, "零").replace(/零+$/, "");
                   tmp1 = tmp1.replace(/^壹拾/, "拾");
                   tmp = (tmp1 + unit1[i].charAt(j - 1)) + tmp;
                }
               numArray[i] = tmp;
           }
           numArray[1] = numArray[1] ? numArray[1] : "";
           numArray[0] = numArray[0] ? numArray[0] + "元" : numArray[0],numArray[1] = numArray[1].replace(/^零+/, "");
           numArray[1] = numArray[1].match(/分/) ? numArray[1] : numArray[1] + "整";
           return numArray[0] + numArray[1];
     } 
/** 金额格式化 添加“,”分隔符 */

function addComma(money) {
if(money==""){
return "";
}
if(money){
money = money.trim();
}
    if(/[^0-9\.\-\+]/.test(money)){  
    return money;
    }
    money = parseFloat(money) + ""; 
    if('NaN' == money){
    return  "0.00";
    }
    var money_flag = "";
    if(money.indexOf("-") != -1){
    money = money.replace(/-/g,"");
    money_flag = "-";
    }

money=money.replace(/^(\d*)$/,"$1.");  
    money=(money+"00").replace(/(\d*\.\d\d)\d*/,"$1");  
    money=money.replace(".",",");  
    var re=/(\d)(\d{3},)/;  
    while(re.test(money)){  
      money=money.replace(re,"$1,$2");  
    }  
    money=money.replace(/,(\d\d)$/,".$1"); 
    var money =  money_flag+""+money.replace(/^\./,"0.")
    return money;          
}

/** 金额格式化 去“,”分隔符 */
function delComma(value) {
  var rtnVal = value + "";
  return rtnVal.replace(/,/g,"");
}

/**
 * 金额格式化 字符串添加小数点
 */
function addPoint(money){
if(/[^0-9\.]/.test(money)){  
    return money;
    }
   
    if(money.length < 3 || money.indexOf(".") > -1){
    return money;
    }
   
    return money.substring(0,money.length - 2) + "." + money.substring(money.length - 2,money.length);
}
/**
 * 金额格式化 数字去小数点
 */
function removePoint(money){
    if(/[^0-9\.]/.test(money)){  
    return money;
    }
   
    var valueFloat = parseFloat(money) * 100;
    var valueInt = parseInt(valueFloat);
    return valueInt;
}
/* 格式化小数点后两位数字 以百分比显示 */
function addPercent(str){
    var percent = Math.floor(str * 100) / 100;
    percent=(percent.toFixed(2));
    return percent+'%';
}

/** 字符格式化 添加 空格 分隔符 */
function addSpace(value) {
if(value == null || value == ""){
return "";
}

var value = value + "";
    var tmpStr = "";
    while (value.length > 4) {
        tmpStr = tmpStr + value.substring(0,4)+ " ";
        value = value.substring(4,value.length);
    }
    tmpStr = tmpStr + value;
    return tmpStr;
}

/** 字符格式化 去除 空格 分隔符 */
function removeSpace(value) {
var rtnVal = value + "";
  return rtnVal.replace(/ /g,"");
}

// 格式化日期时间字符串
// YYYYMMDD-》YYYY-MM-DD
// YYYYMMDDhhmmss-》YYYY-MM-DD hh:mm:ss
function formatDatetime(oldvalue){
if(oldvalue == null){
return "";
}else if(oldvalue.length == 8){
return oldvalue.substring(0,4) +
      "-" + oldvalue.substring(4,6) +
      "-" + oldvalue.substring(6,8);
}else if(oldvalue.length == 14){
return oldvalue.substring(0,4) +
      "-" + oldvalue.substring(4,6) +
      "-" + oldvalue.substring(6,8) +
     
      " " + oldvalue.substring(8,10) +
      ":" + oldvalue.substring(10,12) +
      ":" + oldvalue.substring(12,14);
}else if(oldvalue.length == 6){
return oldvalue.substring(0,2) +
      ":" + oldvalue.substring(2,4) +
      ":" + oldvalue.substring(4,6);
}else{
return oldvalue;
}
}

function StringToDate(str){
var datainfo=str.split('-');
    return new Date(datainfo[0],datainfo[1],datainfo[2]);
}

希望本文所述对大家的javascript程序设计有所帮助。

(0)

相关推荐

  • JavaScript格式化日期时间的方法和自定义格式化函数示例

    很多时候,我们可以利用JavaScript中Date对象的内置方法来格式化,如: 复制代码 代码如下: var d = new Date();console.log(d); // 输出:Mon Nov 04 2013 21:50:33 GMT+0800 (中国标准时间)console.log(d.toDateString()); // 日期字符串,输出:Mon Nov 04 2013console.log(d.toGMTString()); // 格林威治时间,输出:Mon, 04 Nov 20

  • jsp页面中如何将时间戳字符串格式化为时间标签

    datetag.tld文件: <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> <tagli

  • 详解JavaScript时间格式化

    感谢某前辈写的JS格式化日期和时间JS代码,很好很强大!!! 前言: js虽然提供了各种获取时间Date对象的不同属性方法,如:getDate 方法 | getDay 方法 | getFullYear 方法 | getHours 方法 ... ... 等等,但是却没有像java那样提供一个方法来供用户来根据自身提供的模板(pattern),来格式化指定时间对象,所以自己就封装了一个小方法,只供大家闲来调侃-.-,有好的建议还望慷慨指荐哦. 用到知识点: • arguments:该对象代表正在执行

  • js时间日期格式化封装函数

    js虽然提供了各种获取时间Date对象的不同属性方法,如:getDate 方法 | getDay 方法 | getFullYear 方法 | getHours 方法 ... ... 等等,但是却没有像java那样提供一个方法来供用户来根据自身提供的模板(pattern),来格式化指定时间对象,所以自己就封装了一个小方法,只供大家闲来调侃-.-,有好的建议还望慷慨指荐哦. 用到知识点: arguments:该对象代表正在执行的函数和调用它的函数的参数.不可显式创建,虽然有length属性,且能像数

  • javascript 格式化时间日期函数代码脚本之家修正版

    Date.prototype.format = function(format) { var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(), //minute "s+" : this.getSeconds(

  • js格式化时间小结

    废话不多说,先把各种格式化方法贴给大家 复制代码 代码如下: var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate

  • JS实现时间格式化的方式汇总

    复制代码 代码如下: //扩展Date的format方法 Date.prototype.format = function (format) {    var o = {        "M+": this.getMonth() + 1,        "d+": this.getDate(),        "h+": this.getHours(),        "m+": this.getMinutes(),     

  • js时间戳格式化成日期格式的多种方法

    js需要把时间戳转为为普通格式,一般的情况下可能用不到的, 下面先来看第一种吧 复制代码 代码如下: function getLocalTime(nS) { return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' '); } alert(getLocalTime(1293072805)); 结果是 2010年12月23日 10:53 第二种 复制代码 代码如下: function getLocalTi

  • js 格式化时间日期函数小结

    复制代码 代码如下: Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(), //minute "s+" : this.g

  • js格式化时间和js格式化时间戳示例

    复制代码 代码如下: /** * 时间对象的格式化; */Date.prototype.format = function(format) {    /*     * eg:format="YYYY-MM-dd hh:mm:ss";     */    var o = {        "M+" :this.getMonth() + 1, // month        "d+" :this.getDate(), // day        &q

  • js中格式化日期时间型数据函数代码

    例如: 现有一字符串为: var dt="2010-1-1 12:20:20"; 第一步:将其转换成日期时间型数据 复制代码 代码如下: var newDt=new Date(dt.replace("-","/")); 第二步:格式化数据成"yyyy-MM-dd" (1)扩展Date 复制代码 代码如下: Date.prototype.format = function(format){ var o = { "M+

随机推荐