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


Posted in Javascript onFebruary 26, 2015

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
firefox firebug中文入门教程 脚本之家新年特别版
Jan 02 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
May 27 Javascript
jQuery插件HighCharts绘制简单2D折线图效果示例【附demo源码】
Mar 21 jQuery
vue iView 上传组件之手动上传功能
Mar 16 Javascript
使用Nuxt.js改造已有项目的方法
Aug 07 Javascript
vue js秒转天数小时分钟秒的实例代码
Aug 08 Javascript
vue动态改变背景图片demo分享
Sep 13 Javascript
微信小程序使用gitee进行版本管理
Sep 20 Javascript
一次Webpack配置文件的分离实战记录
Nov 30 Javascript
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
Sep 17 Javascript
使用PreloadJS加载图片资源的基础方法详解
Feb 03 Javascript
Node.js API详解之 timer模块用法实例分析
May 07 Javascript
如何减少浏览器的reflow和repaint
Feb 26 #Javascript
详谈javascript中DOM的基本属性
Feb 26 #Javascript
jqueryUI里拖拽排序示例分析
Feb 26 #Javascript
Jquery的基本对象转换和文档加载用法实例
Feb 25 #Javascript
jQuery操作JSON的CRUD用法实例
Feb 25 #Javascript
javascript实现复选框超过限制即弹出警告框的方法
Feb 25 #Javascript
javascript获得当前的信息的一些常用命令
Feb 25 #Javascript
You might like
大家都应该掌握的PHP关联数组使用技巧
2015/12/25 PHP
php日期操作技巧小结
2016/06/25 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
js类中获取外部函数名的方法
2007/08/19 Javascript
Extjs 几个方法的讨论
2010/01/28 Javascript
DIV菜单层实现代码
2010/11/19 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
jQuery中:checkbox选择器用法实例
2015/01/03 Javascript
javascript实现全角转半角的方法
2016/01/23 Javascript
深入理解JS中的substr和substring
2016/04/26 Javascript
javascript实现延时显示提示框特效代码
2016/04/27 Javascript
基于Bootstrap里面的Button dropdown打造自定义select
2016/05/30 Javascript
详细分析Javascript中创建对象的四种方式
2016/08/17 Javascript
AngularJS 依赖注入详解及示例代码
2016/08/17 Javascript
jquery dialog获取焦点的方法
2017/02/09 Javascript
Bootstrap Table使用整理(三)
2017/06/09 Javascript
Vue单文件组件的如何使用方式介绍
2017/07/28 Javascript
详解使用jest对vue项目进行单元测试
2018/09/07 Javascript
JS闭包原理与应用经典示例
2018/12/20 Javascript
简单了解vue.js数组的常用操作
2019/06/17 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
python实现Flappy Bird源码
2018/12/24 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
python 基于opencv 绘制图像轮廓
2020/12/11 Python
Pycharm 设置默认解释器路径和编码格式的操作
2021/02/05 Python
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
个人工作表现评语
2014/04/30 职场文书
奥巴马连任演讲稿
2014/05/15 职场文书
公开致歉信
2019/06/24 职场文书
springboot创建的web项目整合Quartz框架的项目实践
2022/06/21 Java/Android
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技
Win11 KB5015814遇安装失败 影响开始菜单性能解决方法
2022/07/15 数码科技