I am entering the valid phone number in lwc input field and when tries to backspace, it's not removing the space between brace and number. I have to hold the backspace button to remove the backspace.

Format of phone number: (123) 131-5135

enter image description here

handleInputPhone(event) {
    this.showError = false;
    this.errorPhone = '';
    const enteredValue = event.target.value;
    const digitsOnly = enteredValue.replace(/[^\d]/g, ''); // Remove non-digits
    //console.log('TEST'+ digitsOnly);
    if (event.keyCode === 8) { // Backspace key
      digitsOnly = digitsOnly.slice(0, -1); // Remove the last digit
    } else if (event.keyCode === 46) { // Delete key
      digitsOnly = digitsOnly.slice(1); // Remove the first digit
    }
    if (digitsOnly === '') {
      this.conPhoneNumber = ''; // Reset to empty string or default value
    } else {
      let formattedValue = '(___) ___-____';
      let digitIndex = 0;
      for (let i = 0; i < formattedValue.length; i++) {
        if (formattedValue[i] === '_') {
          if (digitIndex < digitsOnly.length) {
            formattedValue = formattedValue.substring(0, i) + digitsOnly[digitIndex] + formattedValue.substring(i + 1);
            digitIndex++;
          } else {
            formattedValue = formattedValue.substring(0, i);
            break; // Stop replacing digits once we run out of entered digits
          }
        }
      }
0

There are 0 best solutions below