Ciao a tutti.
Ho bisogno di fare un controllo con le espressioni regolare sulle mail.
Secondo voi è giusta o sbagliato questo pattern?
$pattern_email = ".+@.+\..{3}";
Ciao,
Ale
Ciao a tutti.
Ho bisogno di fare un controllo con le espressioni regolare sulle mail.
Secondo voi è giusta o sbagliato questo pattern?
$pattern_email = ".+@.+\..{3}";
Ciao,
Ale
Premesso che mi sono avvicinato da pochissimo alle espressioni regolari...Originariamente inviato da pig_org
Ciao a tutti.
Ho bisogno di fare un controllo con le espressioni regolare sulle mail.
Secondo voi è giusta o sbagliato questo pattern?
$pattern_email = ".+@.+\..{3}";
Ciao,
Ale
Però questo controllo che hai messo tu mi sembra un po' troppo scarno..
Io metterei:
Ora non assicuro sulla corettezza sintattica..codice:$paternemail="/[a-zA-Z*\-_]@[a-zA-Z\-_]\.[a-zA-Z]{2.3}/";
Però te le spiego..
diciamo che ammetti tutte le lettere dalla a alla z e anceh quelle maiuscole, numeri e i caratteri - (trattino) e _ (underscore), poi la chiocciola, seguita dalla stessa sequenza di caratteri poi il punto seguito dalle lettere a-z con un minimo di 2 occorrenze e un massimo di 3...
Ripeto non credo di aver azzeccato la sintassi.. l'asterisco (mi pare) sia tutte le cifre.. ma non ci giurerei (non posso cercare adesso nel forum)
cmq credo sia un controllo un po' più corretto questo.. spero che qualche guru delle preg mi corregga...![]()
"La teoria è quando si sa tutto e niente funziona. La pratica è quando
tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
il perché!" (Albert Einstein)
Tempo fa trovai questa funzioncina postata da andr3a, da allora l'ho sempre usata e l'ho trovata a dir poco infallibile!
codice:function IsEmail( $valore ){ $r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*"; $r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/"; return preg_match($r, $valore); }![]()
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
Caspita nn l'ho mica capita... :master:Originariamente inviato da 13manuel84
Tempo fa trovai questa funzioncina postata da andr3a, da allora l'ho sempre usata e l'ho trovata a dir poco infallibile!
codice:function IsEmail( $valore ){ $r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*"; $r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/"; return preg_match($r, $valore); }![]()
"La teoria è quando si sa tutto e niente funziona. La pratica è quando
tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
il perché!" (Albert Einstein)
pure i commenti m'hai toltoOriginariamente inviato da 13manuel84
Tempo fa trovai questa funzioncina postata da andr3a, da allora l'ho sempre usata e l'ho trovata a dir poco infallibile!
codice:function IsEmail( $valore ){ $r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*"; $r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/"; return preg_match($r, $valore); }![]()
![]()
codice:function checkMail( $m ) { // andr3a / HTML.IT $r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*"; $r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/"; return preg_match($r, $m); }![]()
che vuol dire questo?Originariamente inviato da andr3a
pure i commenti m'hai tolto![]()
codice:function checkMail( $m ) { // andr3a / HTML.IT $r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*"; $r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/"; return preg_match($r, $m); }![]()
codice:(?i)^{$r}VVoVe:
"La teoria è quando si sa tutto e niente funziona. La pratica è quando
tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
il perché!" (Albert Einstein)
^ = comincia con ( reg dentro la variabile $r )Originariamente inviato da Inoki
che vuol dire questo?
codice:(?i)^{$r}VVoVe:
sarebbe stato uguale scrivere:
^([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*
dove
([a-z0-9]+[\._\-]?){1,3}([a-z0-9])* e' appunto il valore di $r![]()
Grazie a tutti raga per la discussione instaurata.codice:$paternemail="/[a-zA-Z*\-_]@[a-zA-Z\-_]\.[a-zA-Z]{2.3}/";
Cmq io direi di usare:
$pattern_email = ".+@.+\..{3}";
perchè il controllo sulle maiscole minuscole non lo voglio in quanto molto spesso chi naviga su internet non sa la differenza sui case sentive; infatti quando vado a fare l'if uso:
if (eregi($pattern_email,$email))
uso eregi in modo tale che non faccio un controllo così accurato.
anzi, stavo pensando anche di eliminare il .{3}
ma la mia domanda è: la sintassi è giusta?
Ale
un'altra dopo una lunga serie ...Originariamente inviato da pig_org
Grazie a tutti raga per la discussione instaurata.
Originariamente inviato da pig_org
Cmq io direi di usare:
$pattern_email = ".+@.+\..{3}";![]()
infatti non c'e' il controllo sulle maiuscole o minuscole, la funzione chi ti ho ( abbiamo ) postato e' case-insensitiveOriginariamente inviato da pig_org
perchè il controllo sulle maiscole minuscole non lo voglio in quanto molto spesso chi naviga su internet non sa la differenza sui case sentive;
e da quando eregi e' meno accurato di preg_match ??? l' "accurato" lo scegli tu in base alla regexp che gli dai ... ed eregi e' solo piu' lentoOriginariamente inviato da pig_org
infatti quando vado a fare l'if uso:
if (eregi($pattern_email,$email))
uso eregi in modo tale che non faccio un controllo così accurato.
certoOriginariamente inviato da pig_org
anzi, stavo pensando anche di eliminare il .{3}
ma la mia domanda è: la sintassi è giusta?
.@.. // tua regi = OK ... che bella email ...
a@a. // tua regi = OK ... che bella email ...
ma tu vuoi controllare che l'email sia valida ( o meglio, almeno scritta bene ) o no ? :master: