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 相关文章推荐
用javascript实现的图片马赛克后显示并切换加文字功能
Apr 21 Javascript
node.js中的fs.fchmodSync方法使用说明
Dec 16 Javascript
JavaScript中的分号插入机制详细介绍
Feb 11 Javascript
jquery+easeing实现仿flash的载入动画
Mar 10 Javascript
纯JS代码实现一键分享功能
Apr 20 Javascript
深入理解requestAnimationFrame的动画循环
Sep 20 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
Jan 08 Javascript
video.js使用改变ui过程
Mar 05 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
Apr 13 Javascript
Vuex之理解Getters的用法实例
Apr 19 Javascript
vue 百度地图(vue-baidu-map)绘制方向箭头折线实例代码详解
Apr 28 Javascript
正则表达式基础与常用验证表达式
Jun 16 Javascript
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
暴雪前总裁遗憾:没尽早追赶Dota 取消星际争霸幽灵
2020/03/08 星际争霸
PHP 木马攻击防御技巧
2009/06/13 PHP
高性能PHP框架Symfony2经典入门教程
2014/07/08 PHP
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
thinkphp常见路径用法分析
2014/12/02 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
js 动态选中下拉框
2009/11/26 Javascript
js 小贴士一星期合集
2010/04/07 Javascript
Javascript继承(上)——对象构建介绍
2012/11/08 Javascript
javascript标签在页面中的位置探讨
2013/04/11 Javascript
JavaScript学习笔记之数组去重
2016/03/23 Javascript
Jquery基础之事件操作详解
2016/06/14 Javascript
Bootstrap复选框和单选按钮美化插件(推荐)
2016/11/23 Javascript
微信小程序去哪里找 小程序到底如何使用(附小程序名单)
2017/01/09 Javascript
深入理解vue-loader如何使用
2017/06/06 Javascript
JavaScript条件判断_动力节点Java学院整理
2017/06/26 Javascript
今天,小程序正式支持 SVG
2019/04/20 Javascript
在Python中关于中文编码问题的处理建议
2015/04/08 Python
python实现文本去重且不打乱原本顺序
2016/01/26 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
wxPython实现分隔窗口
2019/11/19 Python
Python安装whl文件过程图解
2020/02/18 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
2020/12/29 Python
python 检测nginx服务邮件报警的脚本
2020/12/31 Python
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
英国在线房屋中介网站:Yopa
2018/01/09 全球购物
什么是ARP(Address Resolution Protocol)地址解析协议
2013/10/31 面试题
舞蹈教育学专业推荐信
2013/11/27 职场文书
遵纪守法演讲稿
2014/05/23 职场文书
春游踏青活动方案
2014/08/14 职场文书
2014年党员自我评议总结
2014/09/23 职场文书
2014年妇联工作总结
2014/11/21 职场文书
2014年人事部工作总结
2014/12/03 职场文书
2014年幼儿园小班工作总结
2014/12/04 职场文书
2016年国庆节67周年活动总结
2016/04/01 职场文书
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python