Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在输入类型编号的三个字符后添加破折号_Javascript_Angular - Fatal编程技术网

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

Javascript 在输入类型编号的三个字符后添加破折号,javascript,angular,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('');

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

onKey(事件){
var ele=event.split('-').join('');
如果(元素长度>0){
ele=ele.match(newregexp('.{1,3}',g')).join(“-”);
}
该值=ele;
}

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

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

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


输入类型编号不允许使用非数字字符(因为它的类型=编号)。请注意,您可以输入
e
字符-这是因为
e
是有效的数字。除此之外,听起来您使用的是
angular
。我会给它贴标签的。@SebastianKaczmarek谢谢你的重播,有什么解决办法吗