金额字段的文本框最大长度问题

时间:2018-08-21 13:28:42

标签: javascript jquery html

我遇到的情况是,文本框的最大长度为15。该字段用作金额字段。在正常情况下它可以正常工作。

让我说,如果我在文本框中输入 11234567890.99 ,该金额将显示为 112,34,567,890.99 ,这是预期的。

但是,如果我在文本框中复制并粘贴 112,34,567,890.99 金额,由于长度超出范围,后两位数字将被截断。

是否有任何方法可以在不更改确切行为的情况下进行更改?允许粘贴全部 112,34,567,890.99 金额。

     $(document).on("focusout","#txtformate1",(function () {
            if (this.value != null && this.value != "") {
                $((this.parentElement).nextElementSibling).hide()
            }
            else{
                $((this.parentElement).nextElementSibling).show()
            }
        }));
     $(document).on('keyup', '.Amt', function () {

                var val = $(this).val();
                val = val.replace(/([~!#$%^&*()_+=`{}\[\]\|\\:;'<>,\/? ])+/g, '');

                if(isNaN(val) && val!="-")
                {
                    val="";
                }
                $(this).val(val);
                /*if (isNaN(val)) {
                    val = val.replace(/(?!^)-/g, '');
                    if(val.indexOf("-")>-1)
                    {
                        val = val.replace(/[`*\/]/g, '');
                    }
                    else{val = val.replace(/[^0-9\.]/g, '');}

                    if (val.split('.').length > 2)
                    {
                        val = val.replace(/\.+$/, "");
                    }
                    else if(val==".")
                    {
                        val ="";
                    }
                }*/


            });

            $(document).on('focusout', '.Amt', function () {
                var val = $(this).val();
                val = val.replace(/(?!^)-/g, '');
                if(isNaN(val) && val.indexOf(',')>-1){
                    val=$(this).val();
                }
                if (val == "0.00"){
                    val="";
                }
                $(this).val(val);
            });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="form-control Amt" id="txtformate1" maxlength="15" />`

0 个答案:

没有答案