我正在尝试验证“text”类型的输入文本框,以仅允许带有负数或小数值的数字或数字。 例如:100,002,-3.4,-6,8.5 目前代码是不验证' - '或'。'的代码。
import { Directive, ElementRef, HostListener, Input } from '@angular/core';
@Directive({
selector: '[myValidate]'
})
export class HighlightDirective {
constructor(private el: ElementRef) { }
@Input('myValidate') highlightColor: string;
@HostListener('keyup', ['$event']) onKeyDown(event) {
let oldValue = event.target.value;
let keyPressed = event.key;
let keyCode = event.keyCode;
if (isNaN(oldValue.substr(oldValue.length - 1)) || keyCode === 32) {
this.el.nativeElement.value = oldValue.substr(0, oldValue.length - 1);
} else {
return null;
}
}
}
答案 0 :(得分:0)
您可能正在寻找JavaScript parseFloat()
function
parseFloat('123')
123
parseFloat('1.23')
1.23
parseFloat('-1.23')
-1.23
parseFloat('abc')
NaN
parseFloat('0002')
2
parseFloat('000123')
123