2009-06-27 10 views
16

estoy usando el plugin de validación de jQuery: http://bassistance.de/jquery-plugins/jquery-plugin-validation/utilizando el complemento de validación de jquery, ¿cómo puedo agregar una validación de expresiones regulares en un cuadro de texto?

¿Cómo puedo añadir un cheque de expresiones regulares en un cuadro de texto en particular?

Quiero verificar para asegurarse de que la entrada sea alfanumérica.

+0

Hay muchos métodos adicionales aquí http://bassistance.de/jquery-plugins/jquery-plugin-validation/ – dstonek

Respuesta

35

Definir una nueva función de validación, y utilizarlo en las reglas para el campo que desea validar:

$(function() 
{ 
    $.validator.addMethod("loginRegex", function(value, element) { 
     return this.optional(element) || /^[a-z0-9\-]+$/i.test(value); 
    }, "Username must contain only letters, numbers, or dashes."); 

    $("#signupForm").validate({ 
     rules: { 
      "login": { 
       required: true, 
       loginRegex: true, 
      } 
     }, 
     messages: { 
      "login": { 
       required: "You must enter a login name", 
       loginRegex: "Login format not valid" 
      } 
     } 
    }); 
}); 
+0

Nota: el addmethod no necesita ir en document.ready, también puede cargarlo inmediatamente para liberar el documento. Listo para las cosas que deben ir allí. – Alistair

+0

¡+1 funcionó como un encanto! –

+0

¿Qué tendría que cambiar para mostrar un mensaje de error específico si el valor no es alfanumérico y otro si no está entre la longitud mínima/máxima? – Cofey

7

No está familiarizado con jQuery plugin de validación, pero algo como esto debe hacer el truco:

var alNumRegex = /^([a-zA-Z0-9]+)$/; //only letters and numbers 
if(alNumRegex.test($('#myTextbox').val())) { 
    alert("value of myTextbox is an alphanumeric string"); 
} 
+1

@ karmin79: Gracias por una solución elegante. Una cosa menor es que te falta uno ")" antes de "{". – Arman

Cuestiones relacionadas