Il metodo test()
delle espressioni regolari JavaScript è di fondamentale importanza in molti àmbiti, a cominciare dalla validazione dei form. Questo metodo serve a testare (da qui il nome) se il pattern di un'espressione regolare combacia con la stringa passata come argomento. In questo articolo vedremo i dettagli di questo metodo.
Sintassi
pattern.test(stringa)
Il metodo restituisce un valore booleano, ossia:
true
: Il pattern combacia con la stringa.false
: Il pattern non combacia con la stringa.
Esempi
Immaginiamo di dover verificare se l'utente ha inserito correttamente un numero valido di cellulare. Il nostro pattern sarà:
const isMobile = /^3\d{2}-\d{8}$/;
Il nostro pattern è indicativo ma fa riferimento in modo approssimativo ai numeri di cellulare in uso in Italia. Questi numeri iniziano con il numero 3, seguito da due cifre e da altre 8 cifre. Nel nostro caso abbiamo anche voluto inserire il trattino di separazione tra i due blocchi di cifre.
Quindi:
const n1 = '347-9999999';
const n2 = '011-9999999';
isMobile.test(n1); // true
isMobile.test(n2); // false
Il primo numero combacia con il pattern, quindi viene restituito true
. Il secondo numero, invece, non combacia con il nostro pattern e quindi viene restituito false
.
Quando usare test()
Questo metodo andrebbe usato quando la ricorrenza da cercare nelle stringhe è complessa. In tutti gli altri casi si possono usare i normali metodi delle stringhe, come ad esempio includes()
o indexOf()
.