Non so come creare un’espressione regolare in JavaScript o jQuery.
Voglio creare un’espressione regolare che verificherà se una stringa contiene solo caratteri tra az e AZ con qualsiasi disposizione.
MODIFICARE
Quando ho provato a fare regex
/^[a-zA-Z\s]+$/
accettare anche spazi bianchi. Non funziona. Quale potrebbe essere l’errore?
Sto testando la mia espressione regolare nell’esempio RegExp di JavaScript: Tester di espressioni regolari online .
/^[a-zA-Z]*$/
Cambia il *
in +
se non vuoi consentire corrispondenze vuote.
Classi di caratteri ( [...]
) , Ancore ( ^
e $
) , Ripetizione ( +
, *
)
I /
sono solo delimitatori, denota l’inizio e la fine della regex. Un uso di questo è ora è ansible utilizzare modificatori su di esso.
Piggybacking su ciò che dicono le altre risposte, dal momento che non sai come eseguirle, ecco un esempio di come potresti farlo in JavaScript:
var charactersOnly = "This contains only characters"; var nonCharacters = "This has [email protected]#*($()*@#$(*@%^_(#@!$ non-characters"; if (charactersOnly.search(/[^a-zA-Z]+/) === -1) { alert("Only characters"); } if (nonCharacters.search(/[^a-zA-Z]+/)) { alert("There are non characters."); }
L’inizio /
fine e l’espressione regolare indicano che si tratta di un’espressione regolare. La funzione di search
accetta sia le stringhe che le espressioni regolari, quindi è necessario specificare un regex.
Da MDN Docs , la funzione restituisce -1
se non c’è corrispondenza.
Nota anche: questo funziona solo per az, AZ. Se ci sono spazi, fallirà.
/^[a-zA-Z]+$/
Fuori dalla mia testa.
Modificare:
Oppure, se non ti piace la syntax letterale dall’aspetto strano, puoi farlo in questo modo
new RegExp("^[a-zA-Z]+$");
/[:alpha:]+/
Qualsiasi carattere alfa dalla A alla Z o dalla A alla Z.
o
/^[[:alpha:]]+$/s
per adattarsi strettamente agli spazi.