【发布时间】:2018-05-30 13:24:03
【问题描述】:
我正在使用这个正则表达式来验证输入字段是否只允许一个点和数字。 它与javascript完美配合。但是当它与打字稿一起使用时,它只接受数字并在匹配时为 dot(.) 提供 null。
这是我的正则表达式对象:
RegExp = new RegExp(/^[0-9]*\.?[0-9]*$/g)
这就是我使用它的方式。
@HostListener('keydown', [ '$event' ])
onKeyDown(event: KeyboardEvent) {
if (this.specialKeys.indexOf(event.key) !== -1) {
return;
}
let current: string = this.changeRate.nativeElement.value;
let next: string = current.concat(event.key);
console.log(next+" : "+String(next).match(this.regex)+" : " +event.key);
if (next && !String(next).match(this.regex)) {
event.preventDefault();
}
}
【问题讨论】:
标签: javascript regex typescript