//************************** // Validità Data //************************** function TestData (Ctrl) { if (Ctrl.value == '') return (true) var err=0; var psj=0; a=Ctrl.value // Lunghezza deve essere 10 bytes if (a.length != 10) err=1 // Giorno d = a.substring(0, 2)//day if (isNaN(d)) err=1; // prima '/' c = a.substring(2, 3)// '/' // Mese b = a.substring(3, 5)// month if (isNaN(b)) err=1; // seconda '/' e = a.substring(5, 6)// '/' // Anno di 4 cifre f = a.substring(6, 10)// year if (isNaN(f)) err=1; //Mesi da 1 a 12 if (b<1 || b>12) err = 1 // Posizione della 1 barra if (c != '/') err = 1 // Giorni in generale da 1 a 31 if (d<1 || d>31) err = 1 // Posizione della 2 barra if (e != '/') err = 1 // Range dell'anno if (f<1800 || f>2100) err = 1 // Mesi con 30 giorni if (b==4 || b==6 || b==9 || b==11) { if (d > 30) err=1 } // Febbraio (Bisestile) if (b==2) { // feb var g=parseInt(f/4) if (isNaN(g)) { err=1 } // Maggior di 29 NO if (d>29) err=1 // Bisestile if (d==29 && ((f/4)!=parseInt(f/4))) err=1 } if (err==1) { window.status ="Inserisci la data nella forma gg/mm/aaaa"; alert ("Inserisci la data nella forma gg/mm/aaaa"); window.status =""; Ctrl.focus(); return (false); } else return (true); } //************************** // Validità Ora //************************** function TestOra (Ctrl) { var err=0; a=Ctrl.value // Lunghezza deve essere 5 bytes if (a.length != 5) err=1 // Ora b = a.substring(0, 2) if (isNaN(b)) err=1; // 'Separatore :' c = a.substring(2, 3) // Minuti d = a.substring(3, 5) if (isNaN(d)) err=1; //Ora da 0 a 23 if (b<0 || b>23) err = 1 //Minuti da 0 a 59 if (d<0 || d>59) err = 1 if (err==1) { alert ("Inserisci l' orario nella forma hh:mm"); Ctrl.focus(); return (false); } else return (true); } //************************** // Validità E-mail //************************** function TestEmail (Ctrl,Op) { // Op=1 controllo l'esistenza e la validita // Op=2 controllo se esiste la validita if ((Op==2) && (Ctrl.value == '')) return(true); if (Ctrl.value == "") {alert ("Inserire l'e-mail!"); Ctrl.focus(); return (false); } //deve esserci una sola @ pos=Ctrl.value.indexOf('@', 0) if (pos == 0) {alert ("Inserire correttamente l'e-mail!"); Ctrl.focus(); return (false); } if (pos == -1) {alert ("Inserire correttamente l'e-mail!"); Ctrl.focus(); return (false); } else {if (Ctrl.value.indexOf('@', pos+1) != -1) {alert ("Inserire correttamente l'e-mail!"); Ctrl.focus(); return (false); } } //devono esserci almeno 4 caratteri dopo @ if (Ctrl.value.substring(pos+1,Ctrl.value.length).length < 4) {alert ("Inserire correttamente l'e-mail!"); Ctrl.focus(); return (false); } //deve esserci almeno un . dopo @ if (Ctrl.value.indexOf('.', pos+1) == -1) {alert ("Inserire correttamente l'e-mail!"); Ctrl.focus(); return (false); } //devono esserci almeno 2 caratteri dopo . pos=Ctrl.value.indexOf('.', pos+1); if (Ctrl.value.substring(pos+1,Ctrl.value.length).length < 2) {alert ("Inserire correttamente l'e-mail!"); Ctrl.focus(); return (false); } //caratteri ammessi stremail=Ctrl.value.toUpperCase() for (var i = 0; i < stremail.length; i++) {if (".-_0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(stremail.charAt(i)) == -1) {alert ("Inserire correttamente l'e-mail!"); Ctrl.focus(); return (false); } } //Tutto OK return (true); } //************************** // Validità E-mail //************************** function TestEmail1 (Ctrl,strMsg) { //deve esserci una sola @ pos=Ctrl.value.indexOf('@', 0) if (pos == 0) {alert (strMsg); Ctrl.focus(); return (false); } if (pos == -1) {alert (strMsg); Ctrl.focus(); return (false); } else {if (Ctrl.value.indexOf('@', pos+1) != -1) {alert (strMsg); Ctrl.focus(); return (false); } } //devono esserci almeno 4 caratteri dopo @ if (Ctrl.value.substring(pos+1,Ctrl.value.length).length < 4) {alert (strMsg); Ctrl.focus(); return (false); } //deve esserci almeno un . dopo @ if (Ctrl.value.indexOf('.', pos+1) == -1) {alert (strMsg); Ctrl.focus(); return (false); } //devono esserci almeno 2 caratteri dopo . pos=Ctrl.value.indexOf('.', pos+1); if (Ctrl.value.substring(pos+1,Ctrl.value.length).length < 2) {alert (strMsg); Ctrl.focus(); return (false); } //caratteri ammessi stremail=Ctrl.value.toUpperCase() for (var i = 0; i < stremail.length; i++) {if (".-_0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(stremail.charAt(i)) == -1) {alert (strMsg); Ctrl.focus(); return (false); } } //Tutto OK return (true); } //********************** // Validità Campo Empty //********************** function TestEmpty (Ctrl,msg) {if (Ctrl.value == "") {alert (msg); Ctrl.focus(); return (false); } else return (true); } //********************** // Validità Campo Numerico //********************** function TestNumerico (Ctrl,msg) { if (Ctrl.value == "") Ctrl.value=0; for (var j=0; j 2) {alert ("Indicare un importo valido"); Ctrl.focus(); return (false); } } /* //l'importo deve essere > 0 var importo=Ctrl.value.replace(",","."); if (importo <= 0) {alert ("Indicare un importo maggiore di 0"); Ctrl.focus(); return (false); } */ //Tutto OK return (true); } //********************** // Formatta numero output //********************** function FormattaNumero(num,dec) // num =numero da formattare (con punto o virgola) // dec =numero decimali da visualizzare { var x=0; var pos; var strzeri='0000000000000000'; var NumFormattato="" x=num.toString().replace(",",".") if (isNaN(x)) return (NumFormattato) x=Math.round(x * (Math.pow(10,dec))) / (Math.pow(10,dec)) pos=x.toString().indexOf('.', 0) if (pos==-1) { NumFormattato=x.toString()+ ',' + strzeri.substring(0,dec) } else { NumFormattato=x.toString().replace(".",",") + strzeri.substring(0,Math.abs(dec-(x.toString().length - (pos+1)))) } return (NumFormattato) } //************************* // Validità Numero Telefono //************************* function TestNumeroTelefono(Ctrl,msg) { var mVal=Ctrl.value; if (mVal == "") return(true); //Eliminando eventualmente il 1 byte (+) il resto della stringa deve essere numerico if (mVal.substring(0, 1) == "+") mVal=mVal.substring(1, mVal.length); for (var j=0; j