2012-07-04 12 views
9

I plug-in di convalida jQuery (http://docs.jquery.com/Plugins/Validation) sono installati sul mio sito Web.jQuery Validator: convalida AlphaNumeric + Space and Dash

Sto usando questo codice per convalidare alfanumerico dal campo di testo e funziona. ma non consente spazio e trattino (-).

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

come farlo funzionare con spazio e trattino? Grazie.

risposta

22

demohttp://jsfiddle.net/cAADx/

/^[a-z0-9\-\s]+$/i di lavoro dovrebbe fare il trucco!

g =/g modificatore fa in modo che tutte le occorrenze di "rimontaggio"

i =/i rende la partita regex caso insensitive.

buona lettura:http://www.regular-expressions.info/javascript.html

Spero che questo aiuti,

codice

$(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" 
      } 
     } 
    }); 

});​ 

rimuoverà questa immagine in 2 minuti vedete qui robert come questo http://jsfiddle.net/5ykup/

enter image description here

+0

bro, il codice consente all'utente di inserire lo spazio e/o un trattino come primo carattere. come rendere il primo carattere inserito dall'utente DEVE ESSERE solo alfanumerico? –

+0

@RobertHanson hiya bruv fai questo: '/^[A-Za-z] [a-z0-9 \ - \ s] + $/i' o questo link ti aiuterà in dettaglio':) 'questo dovrebbe aiutare: http : //stackoverflow.com/questions/1303746/how-can-i-verify-that-user-name-styles-with-a-letter-and-containsonly-alphanume –

+0

@RobertHanson No Worries bruv':) ' Sto per andare a dormire ora è molto tardi alla fine, puoi creare una specifica funzione Regex come sopra o leggere questo: http://stackoverflow.com/questions/280759/jquery-validate-how-to-add- a-rule-for-regular-validation, sarà 30 minuti read + qualche altro buon regex article e penso che sarai felice per sempre ':) Spero che questo aiuti l'uomo! –

1

penso che funzionerà se si passa il seguente RegExp come param:

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

Hiya Devo ammettere che questo non consentirà ancora spazi, solo una nota ':)' 'aggiungere \ s' è per lo spazio –

Problemi correlati