2015-05-12 71 views
0

代碼:jQuery的 - 僅允許兩個小數值

<input onkeypress="return isNumberKey(event)" type="number" value="" /> 

function isNumberKey(evt){ 
    var charCode = (evt.which) ? evt.which : event.keyCode 
    if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode != 46){ 
     return false; 
    } 
    return true; 
} 

上述功能允許用戶與多於兩個小數即10.5678輸入值。我怎樣才能修改功能,並限制用戶最多兩個小數輸入值即10.56

+1

嗨!檢查http://stackoverflow.com/questions/9539513/is-there-a-reliable-way-in-javascript-to-obtain-the-number-of-decimal-places-of –

回答

3

試試下面的代碼 給予類號元素

$('.number').on('keypress',function (event) { 
    if ((event.which != 46 || $(this).val().indexOf('.') != -1) && (event.which < 48 || event.which > 57)) { 
     event.preventDefault(); 
    } 
    var input = $(this).val(); 
    if ((input.indexOf('.') != -1) && (input.substring(input.indexOf('.')).length > 2)) { 
     event.preventDefault(); 
    } 
}); 

和JavaScript的

function isNumberKey(evt){ 
 
    
 
console.log(evt.value); 
 
    if ((evt.which != 46 || evt.value.indexOf('.') != -1) && (evt.which < 48 || evt.which > 57)) { 
 
     //event it's fine 
 

 
    } 
 
    var input = evt.value; 
 
    if ((input.indexOf('.') != -1) && (input.substring(input.indexOf('.')).length > 2)) { 
 
     return false; 
 
    } 
 
}
<input onkeypress="return isNumberKey(this)" type="number" value="" />

+0

Nirmal:你能修改你的代碼嗎?具有上述功能? – Slimshadddyyy

+0

好的等待將舉例 – nirmal

+0

或者如果你可以修改'onkeypress'事件與我們的代碼 – Slimshadddyyy