我不需要一个掩码,但我需要一些东西,可以格式化货币(在所有浏览器中),并且不允许键入任何字母或特殊字符。谢谢你的帮助
示例:
有效:$50.00
$1,000.53
无效:$w45.00
$34.3r6
发布于 2013-06-06 21:55:51
另一个选项(如果您正在使用ASP.Net剃刀视图)是,在您的视图上,您可以执行以下操作
<div>@String.Format("{0:C}", Model.total)</div>
这将正确地格式化它。注意(item.total是双精度/十进制)
如果在jQuery中,还可以使用正则表达式
$(".totalSum").text('$' + parseFloat(total, 10).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,").toString());
发布于 2014-05-20 06:02:53
根据Melu的回答进行扩展,您可以这样做以使代码函数化并处理负数。
示例输出:
5.23美元
-$5.23
function formatCurrency(total) {
var neg = false;
if(total < 0) {
neg = true;
total = Math.abs(total);
}
return (neg ? "-$" : '$') + parseFloat(total, 10).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,").toString();
}
发布于 2016-06-02 05:20:11
我曾经使用过jquery格式的货币插件,但最近它出现了很多问题。我只需要USD/CAD的格式,所以我写了我自己的自动格式。
$(".currencyMask").change(function () {
if (!$.isNumeric($(this).val()))
$(this).val('0').trigger('change');
$(this).val(parseFloat($(this).val(), 10).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,").toString());
});
只需设置应格式化为货币<input type="text" class="currencyMask" />
的任何输入的类,它就可以在任何浏览器中完美地格式化它。
https://stackoverflow.com/questions/5043650
复制相似问题