如何使用 JQuery 格式化货币[重复]

2023-11-25

我正在尝试使用下面的代码来格式化货币:

$('#currency').keyup(function(e){
   var val = $(this).val();
   val = val.replace(/[^0-9]/g,'');
   if(val.length >= 2)
   val = '$' + val.substring(0,2) + ',' + val.substring(2);
   if(val.length >= 6)
   val = val.substring(0,7) + val.substring(7);
   if(val.length > 7)
   val = val.substring(0,7); 
   $(this).val(val);
 });  

但这仅适用于“10,000 美元”或类似的金额,我如何在一个代码中包含数千、数百和数百万?


这是 vanilla JS 中处理事情的一个很好的函数:

var format = function(num){
    var str = num.toString().replace("$", ""), parts = false, output = [], i = 1, formatted = null;
    if(str.indexOf(".") > 0) {
        parts = str.split(".");
        str = parts[0];
    }
    str = str.split("").reverse();
    for(var j = 0, len = str.length; j < len; j++) {
        if(str[j] != ",") {
            output.push(str[j]);
            if(i%3 == 0 && j < (len - 1)) {
                output.push(",");
            }
            i++;
        }
    }
    formatted = output.reverse().join("");
    return("$" + formatted + ((parts) ? "." + parts[1].substr(0, 2) : ""));
};

但是,对于 jQuery,您始终可以将其变成插件,或者直接使用它,如下所示:

$(function(){
    $("#currency").keyup(function(e){
        $(this).val(format($(this).val()));
    });
});

EDIT我更新了小提琴JSFiddle

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 JQuery 格式化货币[重复] 的相关文章

  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • 为什么验证不起作用并跳转到另一个页面?

    我写了一个customer display php来验证数据 到目前为止只有名字 但无论名字字段是否为空 网页都会跳转到customer search php并且没有更改数据库中的信息 为什么
  • jqGrid - 使所有列不可排序?

    除了添加之外 有没有办法使网格上的所有列都不可排序sortable false到每一列 我知道您可以在网格级别设置全局选项 但不知道是否可以在 colModel 级别执行此操作 您可以使用 colmodel 模板来实现此目的 cmTempl
  • 如何发送正确的授权标头以进行基本身份验证

    我正在尝试从 API 发布数据 但无法通过基本身份验证 I try ajax type POST url http theappurl com api v1 method data crossDomain true beforeSend f
  • Jquery获取选中的复选框

    您好 我想获取页面中选定复选框的列表 实际上我真正需要的是获取复选框旁边的元素的文本 该元素是一个 html 元素 li 代码如下 但它不起作用 这是我当前的 jQuery document ready function target cl
  • jQuery mobile 中的文本区域高度和宽度?

    我修复了 jQuery mobile 中文本区域元素的高度 并且在纵向中得到了完美的高度和宽度 但在横向中宽度没有放大 谁能帮我 提前致谢 HTML
  • Jquery 悬停卡

    我在用着http designwithpc com Plugins Hovercard http designwithpc com Plugins Hovercard 但我不知道如何在悬停卡上声明 var 每个工作描述都有自己的 ID 当悬
  • 如何阻止直接访问我的 JavaScript 文件?

    我使用 Minify 来缩小并缓存所有脚本请求 我只希望我的用户能够访问 JavaScript 文件的缩小版本 缩小位于www example com min我的脚本位于www example com scripts 如何阻止直接访问doc
  • 限制自己超载外部 API 的速率

    我发现了很多信息和脚本示例 展示了如何对 API 用户进行速率限制 但我无法找到任何示例来说明在施加这些限制时如何对您自己的 API 请求进行速率限制 我总是用诸如以下的代码来限制我的脚本sleep or usleep命令 但感觉这是一种低
  • 在特定页面上执行 javascript 的正确“Rails”方式

    我试图在特定页面上运行 javascript 而我唯一的解决方案似乎是反模式 我有controller js内部生成的assets javascripts 我在用着gem jquery turbolinks 我的代码类似于以下内容 docu
  • 将 Google 信任徽章添加到 Magento

    我正在尝试将 Google Trust Badge 添加到我的 magento 商店 我尝试在 Magento 网站上搜索扩展程序 但找不到 我是否需要将以下代码粘贴到产品和结账页面 还是必须对其进行更改 如果有人能引导我走向正确的方向 我
  • Laravel 5 中的自定义验证器

    我正在将 Laravel 应用程序从 4 升级到 5 但是 我有一个自定义验证器 但无法运行 在L4中 我做了一个验证器 php文件并将其包含在全局 php using require app path validators php 我尝试
  • 语法错误,第 288 行出现意外的“endif”(T_ENDIF)[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我一直在离线处理我的 WordPress 网站的此代码错误 解析错误 语法错误 homez 541 photoher marie
  • 使用 XSLT 将 XML 转换为 SQL

    由于我无法控制的原因 我将获得一个 XML 文件和一个 XSLT 文件 该文件可以将 XML 文件转换为 SQL 代码或错误 现在让我们假设我们可以信任提供 XML 文件的人不会在 XML 中包含危险的构造 我什至不知道是否应该使用 Sim
  • Sonata DateTimePickerType 类默认日期显示错误的日期时间格式

    我陷入困境 我不知道如何使用 sonata DateTimePickerType 类正确设置默认日期和时间 我尝试了不同的方法 但到目前为止 没有一种方法没有帮助 在下面的截图中 help 键显示正确的日期和时间 但是当我使用 dp 默认日
  • MVC 模式中的验证层

    验证模型将使用的数据的最佳位置在哪里 例如 考虑登记表 我们有一些来自注册表的数据 那么验证这些数据的最佳位置在哪里 我们应该通过 if 语句或特殊的验证器类来检查每个数据 这意味着大量的编码 所以我想了解在哪里可以做到这一点 在控制器中
  • 从支付网关重定向回时用户会话丢失

    我已将 Cyber source 配置为我的支付网关 我能够导航到 cybersource 并进行付款 并能够成功重定向回该网站 我也可以取消付款并重定向回我的网站 我收到来自支付网关的响应 但是 用户在从支付网关重定向回来时会被注销 我正
  • 覆盖 jQuery 验证 MVC4 中的默认设置

    要覆盖查询验证插件 请在文件 http docs jquery com Plugins Validation validate toptions 推荐的方式是 selector validate invalidHandler functio
  • 如何在laravel中注册后自动登录

    我在 laravel 中注册用户时遇到问题 user假设是包含所有数组元素的数组 同时自动登录以下代码结果false 数据库中保存的密码是hash make password user id this gt user model gt ad
  • Flot 库将 y 轴设置为最小值 0 和最大值 24

    如何将 y 轴设置在 0 到 24 的范围内 这是我的代码 j plot j placeholder d1 xaxis mode time min new Date 2010 11 01 getTime max new Date 2011

随机推荐

  • 当前程序状态寄存器异常模式

    我正在使用具有以下四个汇编指令的代码 CPSR cxsf SPSR cxsf CPSR c SPSR c 我一直很难弄清楚这些异常模式之间的区别 有人可以建议吗 c x s and f指的是状态寄存器的不同部分 c 控制x 延伸s 状态f
  • 如何从 iOS 模拟器获取控制台日志?

    如果我不在 Xcode 中测试应用程序 我想看看 iOS 模拟器中会发生什么 例如 如果我在 Safari 模拟器中打开一个链接 看看控制台中会发生什么 或者 如果我安装网络应用程序 请查看我在控制台中按下的链接 我怎样才能做到这一点 我想
  • NoClassDefFoundError - 拒绝对先前失败的类进行重新初始化

    请有人解释一下这个错误的含义以及如何避免它 一段时间后 我的应用程序由于此错误而强制关闭 09 28 12 53 45 746 I dalvikvm 29489 Rejecting re init on previously failed
  • HttpURLConnection - “https://”与“http://”

    例如 我试图获取用户输入的网址的图标 url google com 我使用 HttpUrlConnection 从 favicon ico主机 URL 的扩展名 String faviconString Uri parse url getH
  • ValueError:必须仅传递带有布尔值的 DataFrame

    Question 在此数据文件中 美国使用 REGION 列分为四个区域 创建一个查询 查找属于区域 1 或 2 名称以 Washington 开头且 POPESTIMATE2015 大于 POPESTIMATE 2014 的县 此函数应返
  • 无法关闭 Windows 10 上的所有 Google Chrome 进程并且无法运行浏览器

    我的症状如下 1 无法运行谷歌浏览器 任务管理器告诉我 RAM 中有一个 chrome exe 任务管理器无法杀死它 2 由于该进程仍在 RAM 中 因此我无法重新安装 Google Chrome 任何帮助深表感谢 您可以使用命令提示符来终
  • 从 Promise 返回一个值

    我想使用这样的 Promise 调用 Google Maps Geocoding API function makeGeoCodingRequest address bounds Input parameters address a str
  • ICollection.包含自定义类型

    如果我有一个 参考 这重要吗 类型MyType这不会覆盖Equals方法 在确定是否存在时将使用什么启发式方法ICollection包含该类型的给定实例 使用我自己的启发法的最佳方法是什么 例如检查Id适当的价值 由于您的类型不会覆盖 Eq
  • 在 SQL Server 中定义一对一关系

    我需要定义一对一的关系 但似乎无法在 SQL Server 中找到正确的方法 您问为什么是一对一的关系 我使用 WCF 作为 DAL Linq 并且有一个包含 BLOB 列的表 BLOB 几乎不会改变 每次查询时传输它都会浪费带宽 我看了一
  • @ElementCollection 与 Map 其中 Entity 是 Embeddable 的字段

    在搜索了 JPA 文档和各种帖子后 我对 JPA2 0 是否可以实现以下操作感到困惑 我刚刚开始使用 JPA 所以如果我做了一些愚蠢的事情 请原谅 我的域模型有一个 投资组合 其中包含零个或多个 未平仓头寸 仓位由 工具 JPA 实体 和价
  • SQL Server 中索引的排序规则

    我感兴趣的是 在创建与该列的排序规则不同的索引时是否可以为该列指定排序规则 当建立索引时 字符串数据是根据列的排序规则还是数据库的排序规则排序 您可以使用所需的排序规则创建计算字段 并在此字段上创建索引
  • 在对象数组中添加匹配键的值

    我有一个数组 其中包含许多具有匹配键的对象 a 2 b 5 c 6 a 3 b 4 d 1 a 1 d 2 我想循环遍历数组 如果键匹配 我想将每个键的结果相加 并返回一个包含每个键之和的对象 i e a 6 b 9 c 6 d 3 我目前
  • 有没有办法在 EmberJS 中将数组传递给 currentWhen ?

    我试图使链接在多个路由上保持 活动 状态 例如 users 和 user 有任何想法吗 您可以重新打开 Ember 的 LinkView 并执行类似的操作 允许 currentWhen 包含空格分隔值 Ember LinkView reop
  • 如何使用 jQuery 更改 css 类规则?

    任何人都可以帮助我吗 我的问题有两个部分 我想做的是使用 jQuery 动态更改 css 类规则 classname color red font size 14px 在上面的示例中 我有一个名为 classname现在使用 jQuery
  • 如何在 mongoDB 中对 $lookup 结果应用条件?

    参考我之前的问题 我有一个关于 lookup 的问题 并添加一些条件 您可以从下面的链接描述中获得有关问题的足够参考 Photo id 1 photo name 1 jpg photo description description 1 a
  • 如何借助 Table 组件显示 JRBeanCollectionDataSource 数据?

    我需要在表组件 JasperReports 中显示 JRBeanCollectionDataSource 数据 这是我的模板 ShowPerson jrxml 文件
  • Bootstrap 3.3.5 中无法点击 form-control-feedback 中的链接

    我正在使用链接form control feedback span从 3 1 1 开始执行 javascript 函数 我正在尝试升级到 3 3 5 但是form control feedback改变了 请参阅工作 JsFiddle 3 1
  • 如何让 pandas.read_csv 不执行任何转换?

    例如 tmp test csv 中的值 即01 02 03 旨在代表strings恰好匹配的 d 与整数相反 In 10 print open tmp test csv read A B C 01 02 03 默认情况下 pandas re
  • 有没有办法使文件输入上的本机“浏览”按钮变大跨浏览器?

    如您所知 您可以使用 hacky 方法制作自己的文件输入控件 将文件输入定位在自定义按钮上并使用opacity 0在文件输入本身上 下图显示了预期的设计 其中文件输入绝对位于浏览按钮上方 正如您所看到的 人造浏览按钮比浏览器 Firefox
  • 如何使用 JQuery 格式化货币[重复]

    这个问题在这里已经有答案了 我正在尝试使用下面的代码来格式化货币 currency keyup function e var val this val val val replace 0 9 g if val length gt 2 val