i need to add an hyphen after every 4 digit i enter, i am getting this in the console , how can i can achieve this to change in the input in angular 2
Code i used given below .ts
mychange(val){
var self = this;
var chIbn = self.storeData.iban_no.split("-").join("");
if (chIbn.length > 0) {
chIbn = chIbn.match(new RegExp('.{1,4}', 'g')).join("-");
}
console.log(chIbn);
self.storeData.iban_no = chIbn;
}
Html
<input type="text" name="din" (ngModelChange)="mychange($event)" class="form-control" [(ngModel)]="storeData.iban_no" required>
Console
input
need that hyphen value in input itself
You need to do changes as below
you don't need
[(ngModel)]
just keep[ngModel]
as you are taking care of change event and from method do like this, you don't needself
in angularthis
will be okay.there is issue in your method too, you need to use
val
instead of property directly as you are trying to modifyval
as assigning value to property.Create a directive to achieve this.
You can use the
HostBinding
feature to get the element to which the directive is attached to and retrieve the value of the element and do your manipulations to the value.