Ожидаемый конечный результат: форматируйте числовые записи в формате 999-999-9999 по мере ввода и ограничивайте ввод более чем 10 цифрами
Я могу добиться этого, используя регулярные выражения
может ли кто-нибудь помочь мне добиться того же, используя google-libphonenumber и angular pipe
// html input type = "tel" id = "phoneNum" [(ngModel)] = "phoneNo" (keyup ) = "onInputChange ()"
export class PhoneComponent implements OnInit{
phoneNo : string = "9876543210";
onInputChange() {
let newVal = this.phoneNo.replace(/\D/g, '');
if (newVal.length === 0) {
newVal = '';
} else if (newVal.length <= 3) {
newVal = newVal.replace(/^(\d{0,3})/, '$1');
} else if (newVal.length <= 6) {
newVal = newVal.replace(/^(\d{0,3})(\d{0,3})/, '$1-$2');
} else if (newVal.length <= 10) {
newVal = newVal.replace(/^(\d{0,3})(\d{0,3})(\d{0,4})/, '$1-$2-$3');
} else {
newVal = newVal.substring(0, 10);
newVal = newVal.replace(/^(\d{0,3})(\d{0,3})(\d{0,4})/, '$1-$2-$3');
}
this.phoneNo = newVal;
console.log('input : ' + newVal);
}
}