Angular6-自定义输入文本框

时间:2019-06-28 19:05:30

标签: angular

我必须使用指令

创建自定义输入文本框

该文本框应允许以这种格式输入(99.123) 应该允许2位数字和3个小数位。

@HostListener('keypress', ['$event'])
  onkeypress(event) {
    let regExp = new RegExp(this.regexStr);
    const value = event.target.value;
    const key = String.fromCharCode(event.keyCode);

    if (regExp.test(key) || (key === '.' && value.indexOf('.') < 0)
      || (this.selectFlag && (regExp.test(key) || key === '.'))) {

      if (key === '.') {
        if (value.length === 0 || (this.selectFlag && key === '.')) {
          event.target.value = 0;
          this.clearSelectionFlag();
        }
      } else if (regExp.test(key)) {
        if (value.length === 2 && value.indexOf('.') < 0) {
          event.target.value = event.target.value + '.';
        }
        this.clearSelectionFlag();
      }
    } else {
      event.preventDefault();
    }
  }

0 个答案:

没有答案
相关问题