jq控制金额长度,并且只能输入数字

Html:

            <div>
                <div>金额 </div>
                <input id="Money" type="text" value="0.00" maxlength="12" onchange="TotalLimitOnchange(this)" onkeyup="TotalLimitOnkeyup(this)" />
            </div>

jq:

    <script type="text/javascript">//金额限制长度
        function TotalLimitOnkeyup(s_this) {

            var reg = $(s_this).val().match(/\d+\.?\d{0,2}/);
            var txt = '';
            if (reg != null) {
                txt = reg[0];
                if (txt.substring(0, 2) == "00") {
                    txt = "0";
                }
            } else {
                txt = "0";
            }
            if (txt.length > 1) {
                if (txt.substring(0, 1) == "0") {
                    txt = txt.substr(1);
                }
            }

            $(s_this).val(txt);
        }
        function TotalLimitOnchange(s_this) {
            $(s_this).keypress();
            var v = $(s_this).val();
            if (/\.$/.test(v)) {
                $(s_this).val(v.substr(0, v.length - 1));
                console.info(v);
                if (v == null || v == "") {
                    v = "0";
                }
                if (v.substring(0, 2) == "00") {
                    v = "0";
                }
                if (v.length > 1) {
                    if (v.substring(0, 1) == "0") {
                        v = txt.substr(1);
                    }
                }

            }
        }
 
    </script>

 

posted @ 2021-09-13 17:09  MakeGod  阅读(72)  评论(0编辑  收藏  举报