Ciao a tutti... ho spesso stressato molto su questo forum chiedendo e richiedendo un sacco di info. In questi giorni sto creando un po' di classi che normalmente usavo in ASP ed una di questa da solo non riesco a finirla (si parla di reg exp!).
Io la posto... la classe è semplice, racchiude tutti i controlli che mi sono venuti in mente (tel, piva, cap...). Se mi aiutaste a finirla potremmo metterla in rilievo così che chi vuole la usi liberamente.Manca il controllo della mail, del codice fiscale e della data. Questi controlli li ho in JS, ma non riesco a tradurli!codice:class objCTRL{ function objCTRL(){} //ritorna 1 se è un numero function isNaN($var){ return preg_match("/^[-]?[0-9]+([\.][0-9]+)?$/", $var); } //da fare function isMail($var) { return $var; } //ritorna 1 se è un numero di telefono (accetta il . come separatore) function isTel($var) { return preg_match("/^\+?\d[0-9 .]{7,12}\d$/", $var); } //ritorna 1 se è un CAP corretto (5 numeri) function isCap($var) { return preg_match("/^[0-9]{5}$/", $var); } //ritorna 1 se è uno USER corretto (min 5 caratteri, max 25 caratteri, tutti caratteri permessi tranne '"%#) function isUser($var) { return preg_match("/^[^ '\"%#]{5,25}$/", $var); } //ritorna 1 se è una PSW corretta (min 5 caratteri, max 15 caratteri, tutti caratteri permessi tranne '"%#) function isPsw($var) { return preg_match("/^[^ '\"%#]{5,15}$/", $var); } // da fare function isCodiceFiscale($var) { return $var; } //ritorna 1 se è una PIVA corretta (11 numeri) function isPiva($var) { return preg_match("/^[0-9]{11}$/", $var); } // da fare function isDate($var,$stato) { switch(strtolower($stato)){ case "it": return $var; //valida data formato italiano (gg/mm/yyyy) case "en": return $var; //valida data formato inglese (mm/gg/yyyy) default: return $var; //valida data formato generico (yyyy/mm/gg) } } //ritorna 1 se rappresenta la valuta (x,xx) function isEuro($var) { return preg_match("/(\d+),(\d{2})/", $var); } }
Ciao e grazie
Rino