Как ввести только число и десятичную 4-значную цифру

Я использую JavaScript. Я хочу ввести только число и десятичную 4-значную цифру. Но я пробую десятичную только 4 цифры, не работает.

ASP

<asp:TextBox id="txtRangeFrom" Runat="server" onkeypress="validNumberAndDecimal(this);" Style="text-align: center; width:100px;" Text='<%# DataBinder.Eval(Container.DataItem, "range_start") %>'>                                                                      </asp:TextBox>

JavaScript

 function validNumberAndDecimal(sender)
        {
           var operator = document.getElementById('ddlOperator').value;        

           if(operator == 'AWN') 
           {
                //condition Nomber Only
           }
           else // TOT Condition decimal 4 digit
           {               
                var caretPos = 0;
                if (document.selection)
                {
                    sender.focus();
                    var Sel = document.selection.createRange();
                    Sel.moveStart('character', -sender.value.length);
                    caretPos = Sel.text.length;
                }
                else if (sender.selectionStart || sender.selectionStart == '0')
                {
                    caretPos = sender.selectionStart;
                }

                var keyCode = window.event.keyCode;
                var str = document.getElementById(sender.id).value;

                if ((keyCode >= 48 && keyCode <= 57) || (keyCode == 8))
                {
                    return true;
                }
                else if (keyCode == 46) {
                    var curVal = document.activeElement.value;
                    if (curVal != null && curVal.trim().indexOf('.') == -1) --> not working
                    {                       
                        return true;                        
                    }
                    else
                    {
                        window.event.returnValue = false;
                        return false;
                    }
                }
                else
                {
                    window.event.returnValue = false;
                    return false;
                }   
           }           
        }

Результат сейчас: 40.0123456789

но я хочу десятичную 4 git: 40,0123 или 4,1245 или 789456,1234

Заранее спасибо. :)


person nettoon493    schedule 27.04.2017    source источник


Ответы (3)


Используйте 1_

Итак, что-то вроде этого:

var curVal = document.activeElement.value;
curVal = curVal.toFixed(4);
person webbm    schedule 27.04.2017

Попробуйте это: что даст вам требуемый answer

Скрипка

Надеюсь, поможет

HTML:

<input type="text"  data-m-dec="4" class="number">

JQuery:

  $(".number").autoNumeric();
person User6667769    schedule 27.04.2017