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

时间:2019-04-04 10:18:06

标签: javascript 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;
}

1 个答案:

答案 0 :(得分:1)

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

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

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