2013-07-03 19 views
6

Ho un regex Javascript come questo:Regex accetta caratteri alfanumerici e alcuni speciali in Javascript?

/^[\x00-\x7F]*$/ 

voglio modificare questo regex in modo che accetti tutti gli alfabeti di capitale e non strumentali, tutti i numeri e alcuni caratteri speciali: - , _, @, ., /, #, &, +.

Come posso fare questo?

+1

Spero che questa espressione regolare non venga utilizzata per filtrare i caratteri della password – zerkms

risposta

34

uso:

/^[ [email protected]/#&+-]*$/ 

È anche possibile utilizzare il character class \ w per sostituire A-Za-z0-9_

+0

Ho dimenticato di menzionare. Questo dovrebbe anche accettare spazi bianchi. Accetterò la tua risposta allora. – pynovice

+21

@ user2032220: quindi non puoi aggiungere un singolo char da solo? – zerkms

+2

+ 1. ma si può anche usare '\ w' – Anirudha

5

Ho dimenticato di dire. Questo dovrebbe anche accettare spazi bianchi.

Si potrebbe utilizzare:

/^[[email protected]/#&+\w\s]*$/ 

Nota come questo si avvale del character classes \w and \s.

+1

accetterebbe anche newlines, tab .. :) – Anirudha

+1

@Anirudh: che nel mio libro rientrano tutti nella definizione di "spazio bianco". In ogni caso, la regex è banale da modificare per corrispondere esattamente ai requisiti dell'OP, a prescindere da quelli che potrebbero essere. – NPE

Problemi correlati