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 相关文章推荐
关于IFRAME 自适应高度的研究
Jul 20 Javascript
javascript中取前n天日期的两种方法分享
Jan 26 Javascript
jquery 字符串切割函数substring的用法说明
Feb 11 Javascript
jquery使用ajax实现微信自动回复插件
Apr 28 Javascript
javascript实现单击和双击并存的方法
Dec 13 Javascript
jquery实现左右无缝轮播图
Jul 31 Javascript
JS二分查找算法详解
Nov 01 Javascript
react-redux中connect的装饰器用法@connect详解
Jan 13 Javascript
Vue.js中 v-model 指令的修饰符详解
Dec 03 Javascript
jQuery选择器之层次选择器用法实例分析
Feb 19 jQuery
微信小程序页面传多个参数跳转页面的实现方法
May 17 Javascript
原生JS实现音乐播放器的示例代码
Feb 25 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
一个分页的论坛
2006/10/09 PHP
php在线代理转向代码
2012/05/05 PHP
使用PHP生成PDF方法详解
2015/01/23 PHP
jQuery Ajax 全解析
2009/02/08 Javascript
js+css实现增加表单可用性之提示文字
2013/06/03 Javascript
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
2014/11/12 Javascript
JavaScript实现N皇后问题算法谜题解答
2014/12/29 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
React-Native中props具体使用详解
2017/09/04 Javascript
Scala解析Json字符串的实例详解
2017/10/11 Javascript
vue实现双向绑定和依赖收集遇到的坑
2018/11/29 Javascript
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
[34:41]夜魇凡尔赛茶话会 第二期02:你画我猜
2021/03/11 DOTA
简单实现python数独游戏
2018/03/30 Python
Python实现的爬取百度文库功能示例
2019/02/16 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
Python 抓取微信公众号账号信息的方法
2019/06/14 Python
python 环境搭建 及python-3.4.4的下载和安装过程
2019/07/20 Python
python分布式编程实现过程解析
2019/11/08 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
python输出数学符号实例
2020/05/11 Python
Python内置函数property()如何使用
2020/09/01 Python
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
护理专业推荐信
2013/11/07 职场文书
自动化专业个人求职信范文
2013/12/30 职场文书
楼面经理岗位职责范本
2014/02/18 职场文书
同学会主持词
2014/03/18 职场文书
校庆接待方案
2014/03/18 职场文书
租房协议书
2014/04/10 职场文书
雷锋精神演讲稿
2014/05/13 职场文书
班子四风对照检查材料
2014/08/21 职场文书
离婚协议书怎么写
2015/01/26 职场文书