如何修复此货币掩码以进行文本输入?

时间:2019-12-16 12:13:37

标签: javascript jquery html regex bootstrap-4

嗨,我想掩盖一些像这样的数字:

001-> 0,01 || 10000-> 100,00 || 10012300-> 100.123,00等等...

但是我的代码只是将','

$(document).ready(function () {

            var mask = {
                money: function () {
                    var el = this
                        , exec = function (v) {
                            v = v.replace(/\D/g, "");
                            v = new String(Number(v));
                            var len = v.length;
                            if (len > 2)
                                v = v.replace(/(\d{2})$/, ',$1');
                            else if (2 == len)
                                v = v.replace(/(\d)/, "0,$1");
                            else if (1 == len) {
                                v = v.replace(/(\d)/, "0,0$1");
                            }
                            return v;
                        };

                    setTimeout(function () {
                        el.value = exec(el.value);
                    }, 1);
                }

            }

            $(function () {
                $('#money').bind('keypress', mask.money);
                $('#money').bind('keyup', mask.money);
            });

        });

您能帮忙吗? 如果可能的话,我想输入“ R $”,如下所示:

“ R $ 1.123.254,00”。

非常感谢您。

1 个答案:

答案 0 :(得分:0)

你去了。

html

<label for="currencyMask"> R$</label>
<form action="#">
    <input id="currencyMask" name="currencyMask" value="" required/>
</form>

javascript

$('input[name=currencyMask]').mask('#.##0,00', {reverse: true, maxlength: false});

注意。您需要包含jquery。