asp.net+js实现金额格式化


Posted in Javascript onFebruary 27, 2015

根据用户需求,在输入金额时要格式化,即每三位数字加逗号分隔,并保留两位小数。

考虑到用户的体验,随使用JS对金额进行格式化,前台代码如下:

<asp:TextBox ID="txtAmount" runat="server" onkeypress="check()" onkeyup="run(this)"></asp:TextBox>

JS代码如下:

//======检查输入的是否为数字

function check() {

    if (!((window.event.keyCode >= 48 && window.event.keyCode <= 57) || window.event.keyCode == 46 || window.event.keyCode == 45)) {

        window.event.keyCode = 0

    }

}

//======格式化文本框的金额

function run(obj) {

    var objvalue = obj.value.replace(/[,]/g, ""),

        objlength = objvalue.length,

        dtmp = objvalue.indexOf("."),

        neg = objvalue.indexOf("-");

    var inttmp = 0,

        floattmp = -1;

    if (dtmp != -1) {

        inttmp = dtmp == 0 ? "0" : new String(objvalue).substring(0, dtmp);

        floattmp = new String(objvalue).substring(dtmp + 1, objlength + 1);

        floattmp = floattmp.replace(/[^0-9]/g, "");

    }

    else {

        inttmp = objvalue;

    }

    if (neg == 0) {

        inttmp = inttmp.replace(/[-]/g, "");

    }

    inttmp = inttmp.replace(/[^0-9]/g, "");

    var tmp = "", str = "0000";

    for (; inttmp.length > 3; ) {

        var temp = new String(inttmp / 1000);

        if (temp.indexOf(".") == -1) {

            tmp = ",000" + tmp;

            inttmp = temp;

        }

        else {

            var le = new String(temp).split(".")[1].length;

            tmp = "," + new String(temp).split(".")[1] + str.substring(0, 3 - le) + tmp;

            inttmp = new String(temp).split(".")[0];

        }

    }

    inttmp = inttmp + tmp;

    obj.value = neg == 0 ? "-" + inttmp + runing(floattmp) : inttmp + runing(floattmp);

}

//======整理小数部分

function runing(val) {

    if (val != "-1" && val != "") {

        var valvalue = 0 + "." + val;

        if (val.length >= 2) {

            valvalue = parseFloat(valvalue).toFixed(2);

        }

        var temp = "." + valvalue.split(".")[1];

        return temp;

    }

    else if (val != "0" && val == "") {

        return ".";

    }

    else {

        return "";

    }

}

同时因为金额可输入负数,所以加上“neg = objvalue.indexOf("-")”的判断。

关于金额的格式化问题,经常遇到这种事情,觉得这个还可以,也就留着,以供以后查阅方便!

Javascript 相关文章推荐
Jquey拖拽控件Draggable使用方法(asp.net环境)
Sep 28 Javascript
Javascript面向对象编程(三) 非构造函数的继承
Aug 28 Javascript
javascript中onmouse事件在div中失效问题的解决方法
Jan 09 Javascript
JavaScript中的Function函数
Aug 27 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
Jun 21 Javascript
javascript的几种写法总结
Sep 30 Javascript
DOM事件探秘篇
Feb 15 Javascript
JavaScript实现全选取消效果
Dec 14 Javascript
vue-lazyload使用总结(推荐)
Nov 01 Javascript
vue v-for 使用问题整理小结
Aug 04 Javascript
vue实现滑动到底部加载更多效果
Oct 27 Javascript
使用vuex-persistedstate本地存储vuex
Apr 29 Vue.js
JavaScript检测浏览器cookie是否已经启动的方法
Feb 27 #Javascript
jQuery如何防止这种冒泡事件发生
Feb 27 #Javascript
js实现网页右上角滑出会自动消失大幅广告的方法
Feb 27 #Javascript
JavaScript获取元素尺寸和大小操作总结
Feb 27 #Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
Feb 27 #Javascript
Javascript writable特性介绍
Feb 27 #Javascript
jQuery实现DIV层收缩展开的方法
Feb 27 #Javascript
You might like
如何在PHP中使用Oracle数据库(2)
2006/10/09 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
2017/03/23 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
ExtJS Grid使用SimpleStore、多选框的方法
2009/11/20 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
JS操作iframe里的dom(实例讲解)
2014/01/29 Javascript
原生JS实现LOADING效果
2015/03/16 Javascript
JS实现兼容火狐及IE iframe onload属性的遮罩层隐藏及显示效果
2016/08/23 Javascript
jQuery生成假加载动画效果
2016/12/01 Javascript
vue日期组件 支持vue1.0和2.0
2017/01/09 Javascript
js字符串与Unicode编码互相转换
2017/05/17 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
基于jQuery实现的设置文本区域的光标位置
2018/06/15 jQuery
vue实现添加与删除图书功能
2018/10/07 Javascript
基于Vue中使用节流Lodash throttle详解
2019/10/30 Javascript
十条建议帮你提高Python编程效率
2016/02/16 Python
mac下如何将python2.7改为python3
2018/07/13 Python
Python Web版语音合成实例详解
2019/07/16 Python
在Django下创建项目以及设置settings.py教程
2019/12/03 Python
使用Django清空数据库并重新生成
2020/04/03 Python
html5模拟平抛运动(模拟小球平抛运动过程)
2013/07/25 HTML / CSS
下面这个程序执行后会有什么错误或者效果
2014/11/03 面试题
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
教师岗位职责
2013/11/17 职场文书
自立自强的名人事例
2014/02/10 职场文书
商铺租赁意向书
2014/04/01 职场文书
海洋科学专业求职信
2014/08/10 职场文书
实验心得体会
2014/09/05 职场文书
机关作风整顿个人剖析材料
2014/10/06 职场文书
党的群众路线批评与自我批评范文
2014/10/16 职场文书
国家助学贷款承诺书
2015/04/30 职场文书
小学数学教学随笔
2015/08/14 职场文书
JavaScript 事件捕获冒泡与捕获详情
2021/11/11 Javascript
Python实现制作销售数据可视化看板详解
2021/11/27 Python