javascript - 如何使输入框只接受浮动输入
问题描述
我有 1 个通用文本框,这是我的自定义组件,我使用了 2 个位置,一个是接受整数,另一个是浮点数。如果我的dataType=2
,它应该只接受我所做的整数,但是我怎样才能使输入框在按键时只接受浮点数dataType=3
html
<input class="form-control"
type="text"
[(ngModel)]="fieldValue"
(keypress)="checkInputType($event)" />
ts
checkInputType(event): boolean {
if (this.dataType === 2) {
const charCode = event.which ? event.which : event.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
this.alertService.error("Can't enter any character");
return false;
}
}
if (this.dataType === 3) {
}
return true;
}
解决方案
根据这个 SO answer,一种方法是验证数字是带有正则表达式的浮点数。
编辑:如果要将输入限制为仅浮点数,则可以使用elementpattern
上的属性,input
该属性使用正则表达式进行验证。
推荐阅读
- python-3.x - Altair 将数据保存到仪表板时出错
- graphql - 盖茨比 GraphQL 问题
- c++ - 从文本文件 C++ 填充 4x4 2d 数组
- java - foobar.withgoogle.com 任务请传递编码消息 java
- javascript - 为什么这不起作用?Turn 的值在增加,但它仍然触发相同的事件?
- r - 如何使用 R 中另一个数据框中包含的值对数据框的列进行计算?
- r - 在嵌套数据中包含分组列
- javascript - 在数组循环中添加 settimeout 和 timeout
- sql-server - 我们可以在 Azure SQL 池中创建一个包含自动增量列的表吗?
- javascript - 在 javascript 中创建具有新结构的对象数组副本的最佳方法