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 相关文章推荐
json 实例详细说明教程
Oct 31 Javascript
ASP Json Parser修正版
Dec 06 Javascript
JS实现鼠标单击与双击事件共存
Mar 08 Javascript
JS组件Bootstrap实现图片轮播效果
May 16 Javascript
AngularJS指令详解及示例代码
Aug 16 Javascript
通过jquery实现页面的动画效果(实例代码)
Sep 18 Javascript
纯js实现倒计时功能
Jan 06 Javascript
angularjs点击图片放大实现上传图片预览
Feb 24 Javascript
用JavaScript和jQuery实现瀑布流
Mar 19 Javascript
详解PHP后期静态绑定分析与应用
Mar 21 Javascript
js实现动态添加上传文件页面
Oct 22 Javascript
Vue插件之滑动验证码用法详解
Apr 05 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安全防范技巧分享
2011/11/03 PHP
php excel reader读取excel内容存入数据库实现代码
2012/12/06 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
php把数组值转换成键的方法
2015/07/13 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
php实现URL加密解密的方法
2016/11/17 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
php实现断点续传大文件示例代码
2020/06/19 PHP
获取页面高度,窗口高度,滚动条高度等参数值getPageSize,getPageScroll
2006/09/22 Javascript
用JavaScript实现仿Windows关机效果
2007/03/10 Javascript
JS截取字符串常用方法整理及使用示例
2013/10/18 Javascript
jquery实现省市select下拉框的替换(示例代码)
2014/02/22 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
微信小程序 点击控件后选中其它反选实例详解
2017/02/21 Javascript
vue-cli开发时,关于ajax跨域的解决方法(推荐)
2018/02/03 Javascript
js逆向解密之网络爬虫
2019/05/30 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
2019/10/24 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
解决vue 给window添加和移除resize事件遇到的坑
2020/07/21 Javascript
JavaScript实现轮播图效果
2020/10/30 Javascript
JavaScript实现京东快递单号查询
2020/11/30 Javascript
深入理解javascript中的this
2021/02/08 Javascript
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
Python for Informatics 第11章之正则表达式(四)
2016/04/21 Python
Python语言的变量认识及操作方法
2018/02/11 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
Python基于requests实现模拟上传文件
2020/04/21 Python
python openCV实现摄像头获取人脸图片
2020/08/20 Python
HTML5实现应用程序缓存(Application Cache)
2020/06/16 HTML / CSS
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
小学生班会演讲稿
2014/01/09 职场文书
酒店员工管理制度
2015/08/05 职场文书
交通安全教育心得体会
2016/01/15 职场文书
2019入党申请书范文3篇
2019/08/21 职场文书
详解解Django 多对多表关系的三种创建方式
2021/08/23 Python