我试图找到一种方法来将文本输入限制为数字和四分之一小数增量。例如0.25,.5、2.75、4.0、10.5等。基本上是整数0-9,然后是十进制0,.25,.5,.75。我试图以它为基础
<script>
jQuery('.numbersOnly').keyup(function () {
this.value = this.value.replace(/[^0-9\.]/g,'');
});
</script>
这将输入限制为十进制数,但实际上无法找出如何限制为四分之一十进制增量,如上所示。有任何想法吗?
最佳答案
e.KeyCode == 8
消除退格键上的更改function decimalPlaces(num) {
var match = (''+num).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);
if (!match) { return 0; }
return Math.max(
0,
// Number of digits right of decimal point.
(match[1] ? match[1].length : 0)
// Adjust for scientific notation.
- (match[2] ? +match[2] : 0));
}
jQuery('.numbersOnly').keyup(function (e) {
this.value = this.value.replace(/[^0-9\.]/g,'');
if(e.keyCode == 8 || decimalPlaces(this.value) < 2){
return true;
}
else if(this.value % 1 != 0)
this.value = (Math.round(this.value * 4) / 4).toFixed(2);
});
jQuery('.numbersOnly').on('blur',function () {
if(this.value % 1 != 0)
this.value = (Math.round(this.value * 4) / 4).toFixed(2);
});
工作fiddle
关于javascript - 将文本输入限制为四分之一小数点增量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37649505/