Javascript 如何只输入数字和十进制4位数字

Javascript 如何只输入数字和十进制4位数字,javascript,c#,decimal,keycode,digits,Javascript,C#,Decimal,Keycode,Digits,我使用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") %

我使用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;
                }   
           }           
        }
函数validNumber和Decimal(发送方)
{
var运算符=document.getElementById('ddlOperator')。值;
如果(运算符='AWN')
{
//条件编号
}
else//TOT条件十进制4位
{               
var-caretPos=0;
if(文档选择)
{
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;
如果((keyCode>=48&&keyCode不工作
{                       
返回true;
}
其他的
{
window.event.returnValue=false;
返回false;
}
}
其他的
{
window.event.returnValue=false;
返回false;
}   
}           
}
现在的结果: 40.0123456789

但我想要十进制4吉特: 40.0123或4.1245或789456.1234

提前感谢。:)使用
.toFixed(4);

比如说:

var curVal = document.activeElement.value;
curVal = curVal.toFixed(4);
使用
.toFixed(4);

比如说:

var curVal = document.activeElement.value;
curVal = curVal.toFixed(4);

试试这个:它将为您提供所需的
答案

希望能有帮助

Html:

<input type="text"  data-m-dec="4" class="number">
  $(".number").autoNumeric();

试试这个:它将为您提供所需的
答案

希望能有帮助

Html:

<input type="text"  data-m-dec="4" class="number">
  $(".number").autoNumeric();

您可以使用具有零依赖性()的awesome AutoNumeric库

要获得4位小数的数字,您可以执行以下操作:

const aNElement = new AutoNumeric('.number', { decimalPlaces : 4 });

就是这样:)

您可以使用具有零依赖性的很棒的自动数字库()

要获得4位小数的数字,您可以执行以下操作:

const aNElement = new AutoNumeric('.number', { decimalPlaces : 4 });
就这样:)