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 相关文章推荐
JQuery 插件模板 制作jquery插件的朋友可以参考下
Mar 17 Javascript
jquery模拟LCD 时钟的html文件源代码
Jun 16 Javascript
jquery实现select下拉框美化特效代码分享
Aug 18 Javascript
js canvas实现擦除动画
Jul 16 Javascript
判断数组的最佳方法(推荐)
Oct 11 Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
Feb 10 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
Apr 11 Javascript
详解Vue 全局引入bass.scss 处理方案
Mar 26 Javascript
微信小程序自定义底部导航带跳转功能
Nov 27 Javascript
js实现每日签到功能
Nov 29 Javascript
postman自定义函数实现 时间函数的思路详解
Apr 17 Javascript
JS实现的碰撞检测与周期移动完整示例
Sep 02 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
async和DOM Script文件加载比较
2014/07/20 PHP
php绘图之加载外部图片的方法
2015/01/24 PHP
PHP图像裁剪缩略裁切类源码及使用方法
2016/01/07 PHP
基于php判断客户端类型
2016/10/14 PHP
thinkphp分页集成实例
2017/07/24 PHP
thinkphp3.2.0 setInc方法 源码全面解析
2018/01/29 PHP
PHP函数按引用传递参数及函数可选参数用法示例
2018/06/04 PHP
PHP常量及变量区别原理详解
2020/08/14 PHP
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
chrome浏览器不支持onmouseleave事件的解决技巧
2013/05/31 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
小程序组件之自定义顶部导航实例
2019/06/12 Javascript
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
react使用antd表单赋值,用于修改弹框的操作
2020/10/29 Javascript
vue实现两个区域滚动条同步滚动
2020/12/13 Vue.js
python计算一个序列的平均值的方法
2015/07/11 Python
Python获取当前路径实现代码
2017/05/08 Python
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
pytorch 自定义数据集加载方法
2019/08/18 Python
flask框架json数据的拿取和返回操作示例
2019/11/28 Python
Python字节单位转换(将字节转换为K M G T)
2021/03/02 Python
美国女性运动零售品牌:Lady Foot Locker
2017/05/12 全球购物
Wiggle澳大利亚:自行车、跑步、游泳商店
2020/11/07 全球购物
竞聘上岗演讲稿范文
2014/01/10 职场文书
电子专业毕业生自我鉴定
2014/01/22 职场文书
环境科学专业优秀毕业生自荐书
2014/02/03 职场文书
本科毕业生求职自荐信
2014/02/03 职场文书
函授毕业自我鉴定
2014/02/04 职场文书
表彰大会主持词
2014/03/26 职场文书
联谊会主持词
2014/03/26 职场文书
社区重阳节活动总结
2015/03/24 职场文书
超市收银员岗位职责
2015/04/07 职场文书
公司趣味运动会开幕词
2016/03/04 职场文书
vue中 this.$set的使用详解
2021/11/17 Vue.js
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫