我 不 需要 一 个 掩码 , 但 我 需要 的 东西 , 将 格式化 货币 ( 在 所有 浏览 器 ) , 不 允许 任何 字母 或 特殊 字符 的 类型 。 谢谢 帮助示例 :有效 : 50.00 美元一千 元 五 角 三 分无效 : $w45.0034.3 美元/6
du7egjpx1#
另 一 个 选项 ( 如果 你 使用 ASP.Net 剃刀 视图 ) 是 , 在 你 的 视图 上 你 可以 做
<div>@String.Format("{0:C}", Model.total)</div>
中 的 每 一 个这 将 正确 地 格式化 它 。 注意 ( item.total 是 双 精度/小数 )如果 在 jQuery 中 还 可以 使用 Regex
$(".totalSum").text('$' + parseFloat(total, 10).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,").toString());
格式
cetgtptt2#
查询格式货币插件
http://code.google.com/p/jquery-formatcurrency/
agyaoht73#
扩展Melu的答案,您可以这样做,使代码功能化并处理负数量。示例输出:五块二毛三
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(); }
o75abkj44#
作为为什么jQuery FormatCurrency插件是一个很好的答案的推论,我想反驳你的评论:
是的,formatCurrency()本身不会过滤掉字母:
// only formats currency $(selector).formatCurrency();
但是包含在formatCurrency插件中的toNumber()可以。因此,您要执行以下操作:
// removes invalid characters, then formats currency $(selector).toNumber().formatCurrency();
af7jpaap5#
使用jquery.inputmask 3.x。请参见here演示包含文件:
<script src="/assets/jquery.inputmask.js" type="text/javascript"></script> <script src="/assets/jquery.inputmask.extensions.js" type="text/javascript"></script> <script src="/assets/jquery.inputmask.numeric.extensions.js" type="text/javascript"></script>
并编码为
$(selector).inputmask('decimal', { 'alias': 'numeric', 'groupSeparator': '.', 'autoGroup': true, 'digits': 2, 'radixPoint': ",", 'digitsOptional': false, 'allowMinus': false, 'prefix': '$ ', 'placeholder': '0' } );
亮点:
66bbxpm56#
我以前用的是jquery格式货币插件,但是最近它一直很bug,我只需要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" />,它将在任何浏览器中完美地格式化它。
<input type="text" class="currencyMask" />
dced5bon7#
尝试使用jQuery**(无插件)**:第一个编辑:新检查值是否有效/无效
9w11ddsr8#
JavaScript已经有了它。
var cur = function (amt) { return Intl.NumberFormat('en-US', { style: "currency", currency: "USD" }).format(amt); };
8条答案
按热度按时间du7egjpx1#
另 一 个 选项 ( 如果 你 使用 ASP.Net 剃刀 视图 ) 是 , 在 你 的 视图 上 你 可以 做
中 的 每 一 个
这 将 正确 地 格式化 它 。 注意 ( item.total 是 双 精度/小数 )
如果 在 jQuery 中 还 可以 使用 Regex
格式
cetgtptt2#
查询格式货币插件
http://code.google.com/p/jquery-formatcurrency/
agyaoht73#
扩展Melu的答案,您可以这样做,使代码功能化并处理负数量。
示例输出:
五块二毛三
o75abkj44#
作为为什么jQuery FormatCurrency插件是一个很好的答案的推论,我想反驳你的评论:
是的,formatCurrency()本身不会过滤掉字母:
但是包含在formatCurrency插件中的toNumber()可以。
因此,您要执行以下操作:
af7jpaap5#
使用jquery.inputmask 3.x。请参见here演示
包含文件:
并编码为
亮点:
66bbxpm56#
我以前用的是jquery格式货币插件,但是最近它一直很bug,我只需要USD/CAD的格式,所以我写了自己的自动格式。
只需设置任何输入的类,将其格式化为货币
<input type="text" class="currencyMask" />
,它将在任何浏览器中完美地格式化它。dced5bon7#
尝试使用jQuery**(无插件)**:
第一个
编辑:新检查值是否有效/无效
9w11ddsr8#
JavaScript已经有了它。