javascript - 在输入类型编号的三个字符后添加破折号

标签 javascript angular

在我的 Angular 项目中,我输入了类型编号,我需要在三个字符后添加一个破折号。如果添加输入类型编号对我不起作用如果添加输入类型文本它工作正常。

<input type="number" id="bank-code" (keyup)="onKey($event.target.value)" [value]='value' maxlength="7" required />

onKey(event){
  var ele = event.split('-').join('');
  if(ele.length > 0){
    ele = ele.match(new RegExp('.{1,3}', 'g')).join("-");
  }
  this.value = ele;
}

最佳答案

输入类型数字不允许非数字字符(因为它的类型=数字)。请注意,您可以输入 e 字符 - 这是因为 e 是一个有效数字。

尝试将输入类型 telpattern 属性一起使用,例如:

<input id='phone-num' type='tel' pattern="[0-9\-]+">

关于javascript - 在输入类型编号的三个字符后添加破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55513458/

相关文章:

css - Angular - 是否可以通过编程方式引用颜色/样式?

javascript - 如何将点击传播到光标下的所有 div?

javascript - 更改 useEffect 中的状态不会更改界面

javascript - 计时问题: How can I get the correct value of a variable from angular2 service

angular - Ionic 4 与 Angular 如何设置动态 HTML dir 属性?

angular - Angular 6 中 ngIf 的多个条件

javascript - 理解 Typescript 编译器生成的 Javascript

javascript - 移动设备上的 Highchart(触摸缩小和放大)- LineChart

php - 动态kml谷歌地图

Angular 使用 Karma 和 Jasmine TypeError : this. Service.<foo> 不是 Lifecycle Hook 中的函数