2011-09-14 12 views
16

Non so davvero molto di regex, ma se qualcuno potesse aiutarmi a cambiare il codice seguente per consentire anche la minuscola a-z, sarebbe fantastico!Come posso far coincidere un'espressione regolare con maiuscole e minuscole?

$("input.code").keyup(function(){ 
    this.value = this.value.match(/[A-Z]{3}([0-9]{1,4})?|[A-Z]{1,3}/)[0]; 
}); 
+5

Vuoi dire con '/ i'? – tchrist

+0

Cosa stai cercando di abbinare? La tua espressione regolare sembra sbagliata. – NullUserException

risposta

32

Se si desidera un'espressione regolare per essere case-insensitive, aggiungere un imodifier alla fine della regex. Così:

/[A-Z]{3}([0-9]{1,4})?|[A-Z]{1,3}/i 
5
/[A-Za-z]{3}([0-9]{1,4})?|[A-Za-z]{1,3}/ 

[] indica una classe di caratteri e A-Z è un intervallo consentito e mezzi ABCDEFGHIJKLMNOPQRSTUVWXYZ. È possibile estendere questo facile con l'aggiunta di a-z

+0

@mizo Puoi spiegare il ragionamento alla base della modifica? –

+0

@muntoo probabilmente si è scontrato con la mia modifica fatta contemporaneamente aggiungendo le altre 3 righe. –

+2

-1 Per suggerire che '[a-zA-Z]' è equivalente a '\ w'. E perché stai usando '[\ w] {3}' invece di solo '\ w {3}'? – NullUserException

Problemi correlati