Reputation: 9247
I have this:
<input style="text-align: right;font-size: 12px;" class='input' (keyup.enter)="sumTotal($event)" type="text"
[ngModel]="field.value" (focusin)="focusin()" (focusout)="format()" (keyup.enter)="format()"
(ngModelChange)="onlyNumbers($event);field.value = $event;sumTotal($event);" [disabled]="disabled">
In my ts i have this: I want numbers and special characters.
onlyNumbers(letter) { if (letter.toUpperCase() !== letter.toLowerCase()) { return; } else { this.field.value = letter; } }
But it still can enter letters. Any suggestion?
Upvotes: 0
Views: 1557
Reputation: 1079
You can try this way
onkeypress="return (event.charCode == 8 && event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57"
other way set pattern
pattern="[0-9]"
Upvotes: 0
Reputation: 2590
Using event.preventDefault()
by checking if isNaN
returns false
and if its not a .
or ,
could be a solution for you:
function numbersonly(e){
if(isNaN(e.key) && e.key !== '.' && e.key !== ',') e.preventDefault();
}
<input type="text" onkeypress="numbersonly(event)" />
Upvotes: 3