function checkEmailControl(obj) { val = obj.value if( val == '' ) return; if( val.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9][A-Za-z0-9]+$/) != -1 ) return true; else return false; } function checkFormatoNum(txt) { if( txt == true && (txt.value != null || txt.value != '') ) { val = trimString(txt.value); val = new String(val).replace('.', ','); val = new String(val).replace(':', ','); if( isNaN(val) ) { alert('I giorni di permanenza devono essere definiti con un numero intero!') txt.focus(); return false; } else { txt.value = val; return true; } } else { return true; } } function codiceFISCALE(cfins) { var cf = cfins.toUpperCase(); var cfReg = /^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$/; if (!cfReg.test(cf)) return false; var set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ"; var setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX"; var s = 0; for( i = 1; i <= 13; i += 2 ) s += setpari.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) ))); for( i = 0; i <= 14; i += 2 ) s += setdisp.indexOf( set2.charAt( set1.indexOf( cf.charAt(i) ))); if ( s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) ) return false; return true; } // Ritorna true se obj.value è un Codice fiscale valido function CheckCF(obj) { if( obj.value != '' ) { var CFok = codiceFISCALE(obj.value) if( CFok == false ) { alert('jslib.checkutil.cf'); return false; } return true; } } // Ritorna true se obj.value è un numero, altrimenti false // Settare vuoto a true se si vuole anche il controllo sul campo vuoto(nel caso ritorna false anche se obj.value = '') // Settare messaggio a true se si vuole il messaggio d'errore di default function CheckNumber(obj, vuoto, messaggio) { if( vuoto && obj.value == '' ) return false; // if con espressione regolare: // ((condizione)(true)|(false)) // nel nostro caso viene controllato se la stringa contiete ',' o '.': // - se true: deve essere obbligatoriamente seguito da almeno un numero ([\d]+)(1 o piu) // - se false: non deve essere obbligatoriamente seguito da un numero ([\d*])(0 o piu) RegExp = /^([-]{0,1}\d+(([.,])([\d]+)|(\d*)))*$/; if( !RegExp.test(obj.value) ) { if( messaggio ) alert('Inserire solo caratteri numerici!'); return false; } return true; } // Ritorna true se obj.value è un CAP valido function CheckCap(obj) { if( obj.value != '' ) { if( (obj.value).length != 5 || ! CheckNumber(obj, false, false) ) { alert('Codice CAP errato!'); return false; } return true; } } // Ritorna true se obj.value contiene solo caratteri alfabetici(senza numeri), altrimenti false // Settare vuoto a true se si vuole anche il controllo sul campo vuoto(nel caso ritorna false anche se obj.value = '') // Settare messaggio a true se si vuole il messaggio d'errore di default function CheckAlfabetico(obj, vuoto, messaggio) { if( vuoto && obj.value == '' ) return false; RegExp = /^[\.\'\s\è\à\ò\ù\ìa-zA-Z]*$/; if( !RegExp.test(obj.value) ) { if( messaggio ) alert('Inserire solo caratteri alfabetici!'); return false; } return true; } // Ritorna true se obj.value è un numero di telefono fisso corretto function CheckTelFisso(obj) { if( obj.value != '' ) { opit = obj.value; if( opit.charAt(0) != 0 || !CheckNumber(obj, false, false) ) { alert('Inserire un numero di telefono fisso corretto!'); return false; } } return true; } // Ritorna true se obj.value è una percentuale scritta in maniera corretta function CheckPercentuale(obj) { if( obj.value != '' ) { val = StringToNumber(trim(obj.value)); if( isNaN(val) || val < 0 || val > 100 ) { alert('Inserire una percentuale corretta!'); return false; } } return true; } function countAreaChars(areaName,counter,limit) { if( areaName.value.length > limit ) { areaName.value = areaName.value.substring(0, limit); alert('Hai raggiunto il numero massimo di caratteri!'); } else { counter.value = limit - areaName.value.length; } }