• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

173
Views
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?

almost 3 years ago · Juan Pablo Isaza
2 answers
Answer question

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 .

almost 3 years ago · Juan Pablo Isaza Report

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

almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error