Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

275
Vistas
how to delete if the text input contain hyphens?

I was just trying to make a snippet that allows user to enter their ssn but also hides it with asterisk (*). I followed SSN masking numbers to a special character (*) in input on keyup answer and i tried to add hyphen (-) between input for formatting. But when I am pressing backspace, its not deleting the character.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div>
      <input id="password" type="text" onkeyup="changeValue(event)" maxlength="11"/>
      <input id="hiddenPass" type="hidden" />
    </div>
    <script>
      var arr = [];
      function changeValue(event) {
        var element = document.getElementById("password");
        var hiddenElement = document.getElementById("hiddenPass");
        var startPos = element.selectionStart;
        var endPos = element.selectionEnd;
        var isTrue = /[0-9]/.test(element.value);
        // if [0-9] (for number)
        if (isTrue || event.keyCode == 8) {
          // for deletion
          if (event.keyCode == 8) {
            arr.splice(endPos, 1);
            setStar(arr);
          } else {
            var val = element.value;
            var obj = { key: val[startPos - 1], value: "*" };
            // perticular position insertion
            arr.splice(startPos - 1, endPos - startPos, obj);
            setStar(arr);
          }
        } else {
          // for space controlling
          element.value = element.value.trim();
          return;
        }
      }

      // star setting
      function setStar(arr) {
        var element = document.getElementById("password");
        var hiddenElement = document.getElementById("hiddenPass");
        var starText = "";
        var originalText = "";
        for (var i = 0; i < arr.length; i++) {
          if (i === 3 || i === 5) {
            starText +=  "-"
          }
          starText += arr[i].value
          originalText += arr[i].key;
        }
        element.value = starText;
        hiddenElement.value = originalText;
        console.log("HiddenElement", hiddenElement.value);
      }
    </script>
  </body>
</html>

how can I achieve that?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda