如何限制用户只在输入值中写入4位数?

时间:2014-03-19 12:18:56

标签: jquery html input

我想强制用户写入输入值,在“。”之后最多有两位数字。 例如:24.14或5.7或0.5或8而不是4.321或5.133121。我怎么能这样做?

4 个答案:

答案 0 :(得分:3)

我找到了解决方案。你可以使用Jquery的这个api:click here

答案 1 :(得分:0)

你不能强迫任何东西到任何身体,但你可以在用户输入后将其格式化为十进制

 <input type="text" id="input_id">

 //format decimal value while typing
(function($) {
    $.fn.currencyFormat = function() {
        this.each( function( i ) {
            $(this).change( function( e ){
                if( isNaN( parseFloat( this.value ) ) ) return;
                this.value = parseFloat(this.value).toFixed(2);
            });
        });
        return this; //for chaining
    }
})( jQuery );


$( function() {
    $("#input_id").currencyFormat();       
});

Resource

答案 2 :(得分:0)

您可以使用.toFixed()方法将数字转换为字符串,并保留指定的小数位数。

<强>样品

var myNum = document.getElementById("textboxID").value;
myNum = parseFloat(myNum).toFixed(2); //I fixed my precision to 2 digits after "."

答案 3 :(得分:0)

这可能适合您: 这是文本输入:

 <input type="text" id="tb1" >

JavaScript / JQuery代码:

 $('#tb1').on('keydown',function(e){
 var textValue=document.getElementById('tb1').value;
if(textValue.indexOf('.')>=0 && e.which!=8 && e.which!=37 && e.which!=39 && e.which!=46)
   {
  textValue=textValue.split('.')[1];
   if(textValue.length>=2)
      return false;
   }
 });