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面向对象编程代码
Dec 19 Javascript
JS获取节点的兄弟,父级,子级元素的方法
Jan 09 Javascript
JQuery实现带排序功能的权限选择实例
May 18 Javascript
BootStrap glyphicons 字体图标实现方法
May 01 Javascript
使用递归遍历对象获得value值的实现方法
Jun 14 Javascript
jquery对象与DOM对象转化
Feb 08 Javascript
JS计算两个时间相差分钟数的方法示例
Jan 10 Javascript
搭建基于express框架运行环境的方法步骤
Nov 15 Javascript
如何解决jQuery 和其他JS库的冲突
Jun 22 jQuery
openlayers4实现点动态扩散
Aug 17 Javascript
ES11新增的这9个新特性,你都掌握了吗
Oct 15 Javascript
JavaScript中关于预编译、作用域链和闭包的理解
Mar 31 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
用PHP连接Oracle数据库
2006/10/09 PHP
CodeIgniter基本配置详细介绍
2013/11/12 PHP
php实现评论回复删除功能
2017/05/23 PHP
PHP使用函数用法详解
2018/09/30 PHP
docker-compose部署php项目实例详解
2019/07/30 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
在JavaScript中监听IME键盘输入事件
2011/05/29 Javascript
通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
2014/05/05 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
2017/03/09 Javascript
基于javaScript的this指向总结
2017/07/22 Javascript
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
2019/04/04 Javascript
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
解决vue props传Array/Object类型值,子组件报错的情况
2020/11/07 Javascript
[00:33]2016完美“圣”典风云人物:BurNIng宣传片
2016/12/10 DOTA
[51:15]完美世界DOTA2联赛PWL S2 PXG vs Magma 第一场 11.21
2020/11/24 DOTA
python文件操作整理汇总
2014/10/21 Python
如何在Python中编写并发程序
2016/02/27 Python
Python+matplotlib绘制不同大小和颜色散点图实例
2018/01/19 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
python如何获取当前文件夹下所有文件名详解
2019/01/25 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
Python3视频转字符动画的实例代码
2019/08/29 Python
Python 虚拟环境工作原理解析
2020/12/24 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
一款纯css3实现的鼠标悬停动画按钮
2014/12/29 HTML / CSS
linux面试相关问题
2013/04/28 面试题
售后求职信范文
2014/03/15 职场文书
广告创意求职信
2014/03/17 职场文书
药剂专业自荐书
2014/06/20 职场文书
教师节倡议书
2014/08/30 职场文书
毕业生见习报告总结
2014/11/08 职场文书
华山导游词
2015/02/03 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书