Javascript 仅允许角度为7的文本框使用十进制值
在Angular 7中,如何屏蔽输入字段(文本框),使其只接受十进制值,如(8.15或15.25) 我有以下HTML输入:Javascript 仅允许角度为7的文本框使用十进制值,javascript,regex,angular7,angular-directive,Javascript,Regex,Angular7,Angular Directive,在Angular 7中,如何屏蔽输入字段(文本框),使其只接受十进制值,如(8.15或15.25) 我有以下HTML输入: <input type="text" name="amount" id="amount" pattern="[0-9]+(\.[0-9][0-9]?)?" (keypress)="numbersOnly($event)"> 我有下面的函数numbersOnly,它只允许十进制数,但不允许像下面这样多次输入小数点(.) 8.155454或8.65.24 它应
<input type="text" name="amount" id="amount" pattern="[0-9]+(\.[0-9][0-9]?)?" (keypress)="numbersOnly($event)">
我有下面的函数numbersOnly,它只允许十进制数,但不允许像下面这样多次输入小数点(.)
8.155454或8.65.24
它应该只允许1个小数点后的数字如下
8.15或80.45或555.14
下面是我的函数,它只接受十进制值
numbersOnly(event: any) {
let charCode = (event.which) ? event.which : event.keyCode;
if (charCode != 46 && charCode > 31
&& (charCode < 48 || charCode > 57))
return false;
return true;
}
numbersOnly(事件:任意){
让charCode=(event.which)?event.which:event.keyCode;
如果(charCode!=46&&charCode>31
&&(字符编码<48 | |字符编码>57))
返回false;
返回true;
}
您可以使用按键事件捕获输入值,并在事件处理程序中检查只有一个小数点
为此,我将onkeypress=“return slideNumber\u keyFilter(event);”
添加到我的输入元素,然后使用此函数:
<script>
function slideNumber_keyFilter( event ) {
return ( ( event.charCode >= 48 ) && ( event.charCode <= 57 ) );
}
</script>
函数slideNumber\u keyFilter(事件){
return((event.charCode>=48)和&(event.charCode)您应该利用HTML5的
@MonkeyZeus抱歉,但它也允许输入小数点(.)多次,我想在输入时限制它只允许一个小数点(.)