首页 > 解决方案 > 在输入类型编号的三个字符后添加破折号

问题描述

在我的 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;
}

标签: javascriptangular

解决方案


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

尝试使用tel带有pattern属性的输入类型,例如:

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

推荐阅读