function trim(stringa)
{
while (stringa.substring(0,1) == ' ')
{
stringa = stringa.substring(1, stringa.length);
}
while (stringa.substring(stringa.length-1, stringa.length) == ' ')
{
stringa = stringa.substring(0,stringa.length-1);
}
return stringa;

}

function controllauser(stringa)
{
carattericonsentiti = new Array(); //viene creato l'array
carattericonsentiti [0]="a";
carattericonsentiti [1]="b";
carattericonsentiti [2]="c";
carattericonsentiti [3]="d";
carattericonsentiti [4]="e";
carattericonsentiti [5]="f";
carattericonsentiti [6]="g";
carattericonsentiti [7]="h";
carattericonsentiti [8]="i";
carattericonsentiti [9]="j";
carattericonsentiti [10]="k";
carattericonsentiti [11]="l";
carattericonsentiti [12]="m";
carattericonsentiti [13]="n";
carattericonsentiti [14]="o";
carattericonsentiti [15]="p";
carattericonsentiti [16]="q";
carattericonsentiti [17]="r";
carattericonsentiti [18]="s";
carattericonsentiti [19]="t";
carattericonsentiti [20]="u";
carattericonsentiti [21]="v";
carattericonsentiti [22]="w";
carattericonsentiti [23]="x";
carattericonsentiti [24]="y";
carattericonsentiti [25]="z";
carattericonsentiti [26]="1";
carattericonsentiti [27]="2";
carattericonsentiti [28]="3";
carattericonsentiti [29]="4";
carattericonsentiti [30]="5";
carattericonsentiti [31]="6";
carattericonsentiti [32]="7";
carattericonsentiti [33]="8";
carattericonsentiti [34]="9";
carattericonsentiti [35]="0";



/*
carattericonsentiti [26]="A";
carattericonsentiti [27]="B";
carattericonsentiti [28]="C";
carattericonsentiti [29]="D";
carattericonsentiti [30]="E";
carattericonsentiti [31]="F";
carattericonsentiti [32]="G";
carattericonsentiti [33]="H";
carattericonsentiti [34]="I";
carattericonsentiti [35]="J";
carattericonsentiti [36]="K";
carattericonsentiti [37]="L";
carattericonsentiti [38]="M";
carattericonsentiti [39]="N";
carattericonsentiti [40]="O";
carattericonsentiti [41]="P";
carattericonsentiti [42]="Q";
carattericonsentiti [43]="R";
carattericonsentiti [44]="S";
carattericonsentiti [45]="T";
carattericonsentiti [46]="U";
carattericonsentiti [47]="V";
carattericonsentiti [48]="W";
carattericonsentiti [49]="X";
carattericonsentiti [50]="Y";
carattericonsentiti [51]="Z";
*/

//alert("stringa t"+stringa);
//alert("stringa lenght"+stringa.length);
ncarettericonfermati=0
for (x=0; x <= stringa.length; x++)

{
	
		for (i = 0; i <= carattericonsentiti.length; i++)
		{
	
			
			if (stringa.charAt(x) == carattericonsentiti[i])
			{
				ncarettericonfermati++;
			//	document.write("<BR>");
			//	document.write("confermato carattere n");
			//	document.write(x);
				
			//	document.write(" con array");
		//		document.write(carattericonsentiti[i]);
				
			}
			
		
		}
		
}

if (ncarettericonfermati==stringa.length)
{
//alert("tutti i caretteri confermati");	
 return 1;
}
	else
{
	//alert("nooooooooooooooo");	
	 return 0;
	
}
	


 
}


<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- Original:  Torsten Frey (tf@tfrey.de) -->
<!-- Web Site:  http://www.tfrey.de -->

<!-- Begin
function check_date(data,msg){
var checkstr = "0123456789";
//var DateField = field;
var Datevalue = "";
var DateTemp = "";
var seperator = ".";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
   err = 0;
   DateValue = data;
 
   /* Delete all chars except 0..9 */
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   
   /* Always change date to 8 digits - string*/
   /* if year is entered as 2-digit / always assume 20xx */
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}
   /* year is wrong if year = 0000 */
   year = DateValue.substr(4,4);
   if (year == 0) {
      err = 20;
   }
   /* Validation of month*/
   month = DateValue.substr(2,2);
//   alert(month);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   /* Validation of day*/
   day = DateValue.substr(0,2);
   if (day < 1) {
     err = 22;
   }
   /* Validation leap-year / february / day */
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }
   /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
   if (err == 0) {
     data = day + seperator + month + seperator + year;
   }
   /* Error-message if err != 0 */
   else {
      alert(msg);
    //  DateField.select();
	  //DateField.focus();
	  return ("Data non corretta");
   }
   return("");
}
//  End -->



function validateEmail(fld) {
    var error="";
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
    if (fld.value == "") {
        fld.style.background = 'Yellow';
        error = "\nInserire un indirizzo e-mail.";
    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
        fld.style.background = 'Yellow';
        error = "\nInserire un indirizzo e-mail corretto.";
    } else if (fld.value.match(illegalChars)) {
        fld.style.background = 'Yellow';
        error = "\nL'indirizzo e-mail contiene caratteri non validi.";
    } else {
        fld.style.background = 'White';
    }
    return error;
}

function validateEmpty(fld) {
    var error = "";
 
    if (fld.value.length == 0) {
        fld.style.background = 'Yellow'; 
        error = "\nCampo richiesto non compilato: "+fld.id+""
    } else {
        fld.style.background = 'White';
    }
    return error;  
}

function validateCheck(fld) {
    var error = "";
 //alert(fld.checked);
    if (fld.checked == 0) {
        fld.style.background = 'Yellow'; 
        error = "\nAbilitare: "+fld.id+""
    } else {
        fld.style.background = 'White';
    }
    return error;  
}


function valButton(btn) {

if (form1.periodo.checked=true){
	//alert(form1.periodo.checked);
	return 1
}
    var cnt = -1;
	//alert(btn.length);
    for (var i=btn.length-1; i > -1; i--) {
        if (btn[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) return btn[cnt].value;
    else return null;
	
}

function validateFormOnSubmit(theForm) {
var reason = "";

  reason += validateEmpty(theForm.nome);
  

  reason += validateEmpty(theForm.cognome);
  reason += validateEmpty(theForm.testata);
   reason += validateEmpty(theForm.user);
   reason += validateEmpty(theForm.pwd);
	
 reason += validateEmail(theForm.mail);
  
  



    reason += validateCheck(theForm.consenso);




		
	//controllo caratteeri user w pwd	
		if (controllauser(theForm.user.value)==0)
		{
			reason += "\nCaratteri non validi nel campo Nome Utente";	
		}

		if (controllauser(theForm.pwd.value)==0)
		{
			reason += "\nCaratteri non validi nel campo Password";	
		}
		
		
	//	alert(controllauser(theForm.user.value));

	  
//controlla password riscrtita
if (theForm.pwd.value!=theForm.pwd2.value)
{
	reason += "\nLa password non coincide";
}



  if (trim(reason) != "") //QUI dentro da errore nei campi
  {
	  

	 alert("Alcuni campi necessitano correzioni:\n" + reason);  
	
	
	
	
	
	
	
return false;
  }
  



  return true;
}


//differenza date

function controlla_eta(compleanno,datagara) {


	
	var splitted = compleanno.split("/");
	
	giornocompleanno=parseInt(splitted[0]);
	mesecompleanno=parseInt(splitted[1]);
	annocompleanno=parseInt(splitted[2]);
	
	
	var splitted2 = datagara.split("/");
	
	giornogara=parseInt(splitted2[0]);
	mesegara=parseInt(splitted2[1]);
	annogara=parseInt(splitted2[2]);
	
	
	maggiorenne="";
	
	//alert(annogara-21);
	//alert(annocompleanno);
	
	if (annocompleanno<annogara-21)
	{
	maggiorenne="passato";
	}
	if (annocompleanno>annogara-21)
	{
	maggiorenne="minorenne";	
	//alert("a_maggiore");
		
	}
	if (annocompleanno==annogara-21) //controllo il mese
	{
		//alert("a_=");
		if (mesecompleanno<mesegara) 
		{
			maggiorenne="passato";	
			//alert("m_<");
		}
		
		if (mesecompleanno>mesegara) 
		{
			maggiorenne="minorenne"	;
			//alert("m_>");
		}
		
		if (mesecompleanno==mesegara) //controllo il giorno
		{//alert("m_=");
			
			if (giornocompleanno<=giornogara) 
			{
				maggiorenne="passato";	
			}
			if (giornocompleanno>giornogara) 
			{
				maggiorenne="minorenne"	;
			}
			
			
		}
	
	
		
	}

return(maggiorenne);
	
}
	





