hai ragione, non ci avevo mai pensato ... cmq l'intento e' di scoraggiare a scrivere emails non valide, non e' una funzione assoluta o risolutrice, questo solo per dirti che non devi fare mai affidamento su un controllo in sola preg soprattutto con dati come emails o sitiOriginariamente inviato da caruccis
- la regola $r applicata anke dopo il punto permette di inserire uno di questi tre caratteri [\._\-]? ed opzionalmente terminare con uno o + caretteri alfanumerici ([a-z0-9])* quindi se scrivo info@miodominio_aa_aa_.it lo accetta e penso che non sia valido.
nessuna offesa ma devo contraddirti per questa funzione ... i domini possono avere solo caratteri alfanumerici ed un trattino:Originariamente inviato da caruccis
- mi sono permesso di modificarla così :
Nulla a togliere a nessuno di voi che siete fantastici , ma poiche' stamane mi sono svegliato col proposito di impapare le espressioni regolari, sono praticamente impazzito nel comprendere il codice di andr3a ....codice:function checkMail( $m ) { // andr3a / HTML.IT $r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*"; $rdominio = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])+"; $r = "/(?i)^{$r}\@{$rdominio}\.[a-z]{2,6}$/"; return preg_match($r, $m); }
Spero di non aver offeso nessuno
http://www.nic.it/RA/domini/regole.html
ergo grazie per la segnalazione, verrai incluso nell' header di questa nuova versione
(che non e' comunque perfetta con le regole per i domini, vedro' se migliorarla ancora)
codice:function checkMail( $m ) { // andr3a / HTML.IT / caruccis $r1 = "([a-z0-9]+["; $r2 = "\-]?){1,3}([a-z0-9])*"; return preg_match("/(?i)^{$r1}\._{$r2}\@{$r1}{$r2}\.[a-z]{2,6}$/", $m); }![]()