gpt4 book ai didi

javascript - 文本输入 - 限制小数点后不超过 5 位且数字超过 100

转载 作者:行者123 更新时间:2023-12-01 00:16:13 25 4
gpt4 key购买 nike

我正在尝试创建一个文本输入,限制用户输入超过五位小数,并只允许输入 0 - 100 之间的数字。例如:

100 - 有效

29.39499 - 有效

9.999 - 有效

0 - 有效

12.0828282 - 无效

101 - 无效

0.0123 - 有效

.111 - 有效

我该如何处理这个问题?

'decimalInput': new FormControl({value: ''}, [Validators.required, Validators.pattern(/^\d*\.?\d*$/), Validators.max(100), Validators.min(0)])
    setDecimals(event){
/* My attempt to get less than 5 decimals and less than number 100:
let finalValue = event.target.value + event.key;
let countDecimals = function (value) {
if(Math.floor(value) === value) return 0;
return value.toString().split(".")[1].length || 0;
}

if(parseFloat(finalValue) >= 100 || countDecimals(parseFloat(finalValue)) > 5){
return false;
}*/

let charCode = (event.which) ? event.which : event.key;
if (charCode == 46) {
if (event.target.value.indexOf('.') === -1) {
return true;
} else {
return false;
}
} else {
if (charCode > 31 &&
(charCode < 48 || charCode > 57)){
return false;
}
}
return true;
}
<input type="text" pInputText formControlName="decimalInput" maxlength="8 (keypress)="setDecimals($event)">

最佳答案

这是一个正则表达式,它允许整数 100(带或不带尾随小数和零)或 100 以下的数字,最多 5 位小数:

/(^100([.]0{1,5})?)$|(^\d{1,2}([.]\d{1,5})?)$/

关于javascript - 文本输入 - 限制小数点后不超过 5 位且数字超过 100,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59741529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com