首页 > 解决方案 > 如何使输入框只接受浮动输入

问题描述

我有 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;
  }

标签: javascripthtmlangulartypescript

解决方案


根据这个 SO answer,一种方法是验证数字是带有正则表达式的浮点数。

编辑:如果要将输入限制为仅浮点数,则可以使用elementpattern上的属性,input该属性使用正则表达式进行验证。


推荐阅读