Sabato, 03 Novembre 2018 17:05

Esempio 05 - Validazione e regex per form

Scritto da

Un esempio un po' più complesso di interazione e validazione delle form con le espressioni regolari, le regex. Argomento non semplicissimo e dedicato agli alunni più smart.

Oltre a poter controllare valori nulli o numericamente non nel giusto range, possiamo usare le "espressioni regolari" per controllare se le stringhe inserite rispondono a determinati criteri. Ad esempio, se contengono uno o più numeri o non sono fatti di soli caratteri alfabetici. Un esempio semplice che viene scatenato all'invio della form dove sono inseriti un campo di input numerico per l'età ed uno testuale che devono, per ovvi motivi, contenere solo numeri e lettere rispettivamente.

function Controlla()
{
	var etadacontrollare = document.getElementById("eta").value; //value per i campi di form
	var nomedacontrollare = document.anagrafica.nome.value; //percorso del DOM
	var cognomedacontrollare = document.getElementById("cognome").value; 
	


	//tra inizio ^ e fine $ della stringa, esiste $ più di una occorrenza (ovvero una o più cifre affiancate) di [0-9] numeri tra 0 e 9?
	var numeri = new RegExp(/[0-9]+/); //presenza numeri
	var lettere= new RegExp(/^[a-zA-Z]+$/);  //solo lettere

	if (numeri.test(nomedacontrollare) == true) //c'è qualche numero 
		alert("Nome con i numeri, possibile?");

	if (lettere.test(cognomedacontrollare) == false) //ci sono solo lettere
		alert("Cognome con i numeri, possibile?");
	
	if (parseInt(etadacontrollare) < 18 )
		alert("Devi essere maggiorenne!")

	if (isNaN(etadacontrollare) || etadacontrollare=='')
		alert("Devi inserire una età!");

	//innerHTML per quell oche è contenuto tra i tag 
	document.getElementById("risultato").innerHTML = "Ciao "+nomedacontrollare+". Hai inserito " + etadacontrollare + " anni" ;

}
Letto 350 volte
Prof. Alfredo Centinaro

Docente di "Scienze e tecnologie informatiche", "Tecnologie e progettazione di sistemi informatici", "Sistemi e Reti" presso IIS Alessandrini-Marino (Teramo), consulente e sviluppatore web. Ha collaborato per anni come sviluppatore presso MHT (ora Engineering 365), assistente Sistemi ed elaborazione dell'informazione in UniTE Corso di laurea in Scienze del turismo culturale, tutor presso Telecom Italia Learning Services (L'Aquila)

Altro in questa categoria: « Esempio 04 - Interazione con i css
Joomla SEF URLs by Artio