pattern: attributo HTML

L'attributo pattern specifica un'espressione regolare a cui deve corrispondere il valore del controllo modulo. Se un valore non-null non è conforme ai vincoli impostati dal valore di pattern, la proprietà ValidityState di sola lettura dell'oggetto patternMismatch sarà true.

L'attributo pattern è un attributo dei tipi di input <input type="text"><input type="tel"><input type="email"><input type="url"><input type="password"> e <input type="search">.

L'attributo pattern, quando specificato, è un'espressione regolare a cui il valore dell'input deve corrispondere affinché il valore superi la convalida del vincolo. Deve essere un'espressione regolare JavaScript valida, come utilizzata dal tipo RegExp e come documentato nella nostra guida sulle espressioni regolari; il flag 'u' viene specificato durante la compilazione dell'espressione regolare, in modo che il modello venga trattato come una sequenza di punti di codice Unicode, anziché come ASCII. Nessuna barra in avanti deve essere specificata attorno al testo del modello.

Se il modello specificato non è specificato o non è valido, non viene applicata alcuna espressione regolare e questo attributo viene ignorato.

Alcuni dei tipi di input che supportano l'attributo pattern, in particolare i tipi di input di posta elettronica e URL , hanno sintassi dei valori previsti che devono essere abbinati. Se l'attributo pattern non è presente e il valore non corrisponde alla sintassi prevista per quel tipo di valore, la proprietà ValidityState di sola lettura dell'oggetto typeMismatch sarà true.

Usabilità

Quando si include un pattern, fornire una descrizione del modello nel testo visibile vicino al controllo. Inoltre, includi un attributo title che fornisca una descrizione del modello. I programmi utente possono utilizzare il contenuto del titolo durante la convalida del vincolo per dire all'utente che il modello non corrisponde. Alcuni browser mostrano una descrizione comando con il contenuto del titolo, migliorando l'usabilità per gli utenti vedenti. Inoltre, la tecnologia assistiva può leggere il titolo ad alta voce quando il controllo si concentra, ma non dovrebbe essere fatto affidamento su questo per l'accessibilità.

Convalida dei vincoli

Se il valore dell'input non è la stringa vuota e il valore non corrisponde all'intera espressione regolare, è presente una violazione del vincolo segnalata dalla proprietà ValidityState dell'oggetto patternMismatch essendo true. L'espressione regolare del pattern, quando confrontata con il valore, deve avere il suo inizio ancorato all'inizio della stringa e la sua fine ancorata alla fine della stringa, che è leggermente diversa dalle espressioni regolari JavaScript: nel caso dell'attributo pattern, stiamo confrontando l'intero valore, non solo a qualsiasi sottoinsieme.