`

js对金额的完美处理

阅读更多
<INPUT TYPE="text" style="ime-mode:disabled" onkeydown="if(event.repeat)event.returnValue=false;//屏蔽连按" onkeypress="initPrice(this)" onblur="checkinp(this)">
  <SCRIPT LANGUAGE="JavaScript">
  <!--
    function initPrice(oInput){
        var num = oInput.value;
        /* 取光标位置 */
        var s = document.selection.createRange();
        var r = oInput.createTextRange();
        s.setEndPoint( "StartToStart",r);
        var curP = s.text.length;

        num = num.substring(0,curP) + String.fromCharCode(event.keyCode) + num.substring(curP);
        var reg = /^\-?([\d\,]*\.?\d{0,3}?)?$/;
        // 0~9:48~57; \,:44; \-:45; \.:46;
        if ( event.keyCode<44 || event.keyCode>57 || event.keyCode==47 || !reg.test(num) ) {
            if (event.keyCode==46) curP = num.indexOf(".")+1;
            event.returnValue = false;
        }
        else {
            curP += 1;
            if (num=="-") return;
            if (/\.\d{3}$/.test(num)) num = num.substring(0,num.length-1);
            event.returnValue = false;
            num = num.replace(/,/g,"");
            num = parseFloat(num).toFixed(2);
            var re = /(-?\d+)(\d{3})/;
            while(re.test(num)){
               num = num.replace(re,"$1,$2")
            }
            oInput.value=num;
            if(num.indexOf(".")>0 && curP <= num.indexOf(".") ) curP = num.indexOf(".");
        }
        //恢复光标位置
        r.moveStart( 'character',curP);
        r.collapse(true);
        r.select();
    }
    function checkinp(obj){
            var num = obj.value.replace(/,/g,"");
            num = parseFloat(num).toFixed(2);
            var re = /(-?\d+)(\d{3})/;
            while(re.test(num)){
               num = num.replace(re,"$1,$2")
            }
            obj.value=num;
    }
  //-->
  </SCRIPT>
分享到:
评论

相关推荐

    JavaScript无限位小写金额转换中文大写

    《JavaScript无限位小写金额转换大写金额》说明:1.本程序用JavaScript语言编写。转换方法严格遵照中国人民银行规定的银行支票中关于中文大写填写规范的相关规定(见下面附文),两可之处按简便方法处理。2.输入小写...

    js实现完美兼容各大浏览器的人民币大小写相互转换

    在网页开发中,处理涉及金额大小写转换的功能非常常见,尤其是在需要生成财务报表或打印输出时。由于不同的浏览器可能对JavaScript的支持存在差异,确保代码在所有浏览器中正常运行,成为了开发者的必要考虑。接下来...

    站长亲测版仿悬赏猫牛帮任务平台源码完美运营站长亲测支持封装APP.txt

    此外,“完美运营”的概念还涵盖了对安全性的重视,通过实施诸如数据加密、防SQL注入、XSS攻击防护等措施来确保平台的安全稳定运行。 ### 知识点三:支持封装APP #### 3.1 封装APP的意义 将任务平台封装成移动应用...

    Emaily:使用 React、Redux、Node、Express 和 Mongoose 构建的全栈 JavaScript 应用程序,用于处理付款

    Emaily 是一个全栈 JavaScript 应用程序,它利用了 React、Redux、Node.js、Express 和 Mongoose 这些流行的技术栈来构建一个处理付款功能的系统,特别适合公司用来收集用户反馈。在这个项目中,我们可以看到前端和...

    最新影视打赏系统无bug完美

    "最新影视打赏系统无bug完美"是一款经过全面测试的影视平台打赏系统,它确保了用户在使用过程中的支付、交互及管理功能的顺畅无误。系统的关键特性包括: 1. **支付接口调用**:系统已经整合了可靠的支付接口,能够...

    基于J2EE的Ajax宝典(完美PDF版)

    1. **JavaScript**:是Ajax的驱动引擎,负责创建XMLHttpRequest对象,处理请求与响应,更新DOM(Document Object Model)以实现页面局部更新。 2. **XMLHttpRequest**:是浏览器内置的对象,用于在后台与服务器进行...

    H5微信裂变红包源码.zip

    前端负责展示红包活动界面,处理用户点击、领取、分享等操作,同时与后端服务器进行数据交互,如获取红包剩余金额、记录用户领取情况等。 2. **后端逻辑**:服务器端主要处理红包的生成、分发以及状态更新等逻辑。...

    .NET,C#(ajax 传值) 实现支付宝功能

    7. **前端处理**:前端JavaScript代码需要处理用户的支付操作,比如点击支付按钮后触发Ajax请求,传递必要的参数(如订单号、金额等)。接收到支付宝返回的支付结果后,需要展示给用户,如成功或失败提示。 8. **回...

    Expense-Tracker

    Node.js则是一个开放源代码、跨平台的JavaScript运行环境,允许在服务器端执行JavaScript代码。 在"Expense-Tracker"中,MongoDB作为后端数据库,存储用户的收支记录。用户可以创建新的收支项,每项记录包括日期、...

    html5做的一个市场应用

    此外,HTML5的FormData对象可以方便地收集用户输入的数据,如金额、日期和交易类别,这些数据可以通过JavaScript处理并存储在本地。 备忘录功能则可能结合了HTML5的Canvas元素,允许用户手写或绘制图形,提供更加...

    FormValid0.5版本发布,带ajax自定义验证例子

    由于没有找到一个完美的解决方案,开发团队选择在检测到`name`属性包含`[]`时,不将焦点移动到这些元素上,以此避免JS错误的发生。如果你有更优的解决方案,开发者鼓励联系他们以改进这个功能。 此外,FormValid ...

    GridView 72般绝技.pdf

    - **功能概述**:支持对GridView中的数据进行选中、编辑、取消编辑及删除操作。 - **后台代码示例**: - 使用SQL语句实现数据的增删改查操作。 - 示例中采用了ADO.NET连接数据库的方式,并且使用了`SqlConnection`...

    <.net实例>--gridview使用大全

    GridView 突出显示某一单元格(例如金额低于多少,分数不及格等) **示例:** - 使用 `ItemStyle` 或 `HeaderStyle`。 - 示例代码略。 **解释:** - 通过设置样式属性可以实现单元格的高亮显示。 ##### 18. ...

    gridview使用大全

    金额" DataFormatString="{0:C}" /&gt; ``` #### 10. GridView实现用“…”代替超长字符串 **知识点概述:** 当文本超出列宽时,使用省略号代替超出的部分。 **实现步骤:** 1. **使用HTML标签:** 通过HTML的`title...

    .net GridView绝技

    这通常需要在`RowDataBound`事件中处理,或者通过JavaScript增强用户体验。 ##### 4. GridView与下拉菜单(DropDownList)结合 在GridView的某列中嵌入一个下拉菜单,可以实现更丰富的交互。例如,用于选择用户的...

    GridView_72般绝技

    为了适应不同宽度的屏幕,有时需要对文本进行换行处理。 **实现方式:** 1. 使用HTML的` `标签实现自然换行。 2. 使用CSS中的`white-space`属性控制换行方式。 #### GridView显示隐藏某一列 根据不同的情况,...

    全新支持多商户版多套前端模板的自助发卡平台PHP网站源码[自适应手机端].txt

    - **数据加密:** 对用户密码等敏感信息进行加密处理。 - **输入验证:** 防止SQL注入、XSS攻击等常见安全威胁。 - **权限控制:** 实现严格的访问控制机制,避免非法操作。 #### 五、总结 总之,“全新支持多商户版多...

Global site tag (gtag.js) - Google Analytics