2012-07-04 25 views
9

Tengo instalados complementos de validación jQuery (http://docs.jquery.com/Plugins/Validation) en mi sitio web.jQuery Validator: Validate AlphaNumeric + Space and Dash

Estoy usando este código para validar alfanumérico del campo de texto, y funciona. pero no permite espacio ni guión (-).

$.validator.addMethod("titleAlphaNum", function(value, element, param) 
{ 
return value.match(new RegExp("^" + param + "$")); 
}); 

cómo hacer que funcione con espacio y guión? Gracias.

Respuesta

22

demostraciónhttp://jsfiddle.net/cAADx/

/^[a-z0-9\-\s]+$/i de trabajo debe hacer el truco!

g =/g modificador se asegura de que todas las ocurrencias de "sustitución"

i =/i hace el caso partido expresión regular insensible.

buena lectura:http://www.regular-expressions.info/javascript.html

Espero que esto ayude,

código

$(function() { 

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

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

});​ 

eliminará esta imagen en 2 minutos ver aquí Robert como esto http://jsfiddle.net/5ykup/

enter image description here

+0

hermano, su código permite al usuario ingresar espacio y/o guión como primer caracter. cómo hacer que el primer carácter ingresado por el usuario DEBE SER alfanumérico solamente? –

+0

@RobertHanson hiya bruv hacer esto: '/^[A-Za-z] [a-z0-9 \ - \ s] + $/i' o este enlace ayudará en detalle':) 'esto debería ayudar: http : //stackoverflow.com/questions/1303746/how-can-i-verify-that-user-name-starts-with-a-letter-and-contains-only-alphanume –

+0

@RobertHanson No Worries bruv ':)' Estoy a punto de dormir ahora es muy, muy tarde, a mi final. Puedes crear una función Regex específica igual a la anterior o leer esto: http://stackoverflow.com/questions/280759/jquery-validate-how-to-add- a-rule-for-regular-expression-validation, será 30 minutos read + algún otro buen artículo regex y creo que serás feliz después de '') 'Espero que esto ayude al hombre! –

1

creo que va a funcionar si pasa la siguiente expresión regular como param:

[A-za-z0-9_\-\s]+ 
+1

Hiya Creo que esto no permitirá espacios, solo una nota ':)' agregar '\ s' es para espacio –