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 相关文章推荐
Firefox window.close()的使用注意事项
Apr 11 Javascript
js 代码集(学习js的朋友可以看下)
Jul 22 Javascript
js自动闭合html标签(自动补全html标记)
Oct 04 Javascript
关于jQuery中.attr()和.prop()的问题探讨
Sep 06 Javascript
js中文逗号转英文实现
Feb 11 Javascript
node.js中的fs.unlinkSync方法使用说明
Dec 15 Javascript
五种js判断是否为整数类型方式
Dec 03 Javascript
Bootstrap基本组件学习笔记之分页(12)
Dec 08 Javascript
js闭包用法实例详解
Dec 13 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
Feb 10 Javascript
浅谈Angular4实现热加载开发旅程
Sep 08 Javascript
Vue调用后端java接口的实例代码
Oct 28 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
虹吸壶是谁发明的?煮出来的咖啡好喝吗
2021/03/04 冲泡冲煮
提高PHP编程效率的53个要点(经验小结)
2010/09/04 PHP
php实现的操作excel类详解
2016/01/15 PHP
PHP实现的多文件上传类及用法示例
2016/05/06 PHP
wordpress网站转移到本地运行测试的方法
2017/03/15 PHP
PHP使用文件锁解决高并发问题示例
2018/03/29 PHP
php使用环形链表解决约瑟夫问题完整示例
2018/08/07 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
php获取微信openid方法总结
2019/10/10 PHP
JavaScript 语言的递归编程
2010/05/18 Javascript
最新28个很棒的jQuery 教程
2011/05/28 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
JavaScript对象学习经验整理
2013/10/12 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
在JavaScript的AngularJS库中进行单元测试的方法
2015/06/23 Javascript
javascript实现输出指定行数正方形图案的方法
2015/08/03 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
微信小程序 图片加载(本地,网路)实例详解
2017/03/10 Javascript
移动端使用localResizeIMG4压缩图片
2017/04/22 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
2018/02/08 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
[58:32]EG vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python下载指定页面上图片的方法
2016/05/12 Python
Python中asyncore异步模块的用法及实现httpclient的实例
2016/06/28 Python
Request的中断和ErrorHandler实例解析
2018/02/12 Python
Django框架 querySet功能解析
2019/09/04 Python
jupyter 使用Pillow包显示图像时inline显示方式
2020/04/24 Python
机电一体化应届生求职信范文
2014/01/24 职场文书
不假外出检讨书
2014/01/27 职场文书
营销经理工作检讨书
2014/11/03 职场文书
实习介绍信模板
2015/01/30 职场文书
英语通知范文
2015/04/22 职场文书
2015年人力资源部工作总结
2015/04/30 职场文书
教你如何使用Python下载B站视频的详细教程
2021/04/29 Python