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

204
Vistas
Usar regEx para habilitar/deshabilitar automáticamente el botón dependiendo de los caracteres y espacios

Me he quedado atascado tratando de crear un botón de envío que se activa/desactiva automáticamente cuando el usuario escribe en un cuadro de entrada. Pude crear con éxito un botón de envío que comienza deshabilitado y luego se habilita cuando un usuario comienza a escribir, pero quiero que el botón se deshabilite si el usuario ingresa un número o cualquier otra cosa, excepto un carácter o una cadena.

Aquí está el código que tengo actualmente para mi script:

 $(document).ready(function() { $('#seed').on('keyup', function(){ var regEx = /^[a-zA-Z\s]*$/; if($(this).val() != regEx) { $('#submit').prop('disabled', false); } else { $('#submit').prop('disabled', true); } }); });

Junto con mi archivo de índice principal con mi formulario:

 <head> <title>Story Ideas</title> <link type="text/css" rel="stylesheet" href="style.css" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script defer src="js/script.js"></script> </head> <div class="form-style"> <form class="form" name="form" method="post" action="?v=ture"> <label for="table">Select Your Story</label> <br /> <select name="table" id="table"> <option value="moons">Moons</option> <option value="lionbird">Lionbird</option> <option value="chik">Chik</option> </select> <br> <input type="text" id="seed" name="seed"> <br> <input id="submit" type="submit" disabled="disabled"> </form> </div> <?php include_once('includes/functions.php'); if (isset($_GET['v']) && $_GET['v'] == true) { $t = $_POST['seed']; $table = $_POST['table']; echo genPoem($t, $table); echo "<br>"; echo "<br>"; } ?> </body>

Intenté usar var regEx = /^[a-zA-Z\s]*$/; Para prevenir esto. ¿Me he perdido algo?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede probar $(this).val().match(regEx) en lugar de usar != , como se documenta en https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions .

about 4 years ago · Juan Pablo Isaza Denunciar

0

No está utilizando la condición correcta para verificar si su valor coincide con la expresión regular o no, su expresión regular está bien, simplemente cambie if($(this).val() != regEx) por if(regEx.test($(this).val())) .

Referencia para el método de test : https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test

about 4 years ago · Juan Pablo Isaza Denunciar
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