|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2003
Città: Brianza
Messaggi: 2687
|
PHP - Controllo immissione mail
ciao a tutti,
sono un principiante nell'uso del php e vorrei farvi una domanda... ho un form in cui un utente può inserire la sua email per iscriversi alla newsletter. come posso fare in modo che il programma mi esegua un controllo e che mi avverta nel caso che la stringa non sia della forma ***@***.***? grazie mille
__________________
"Le prime giornate di un europeo in America possono essere paragonate alla nascita di un uomo." Franz Kafka
"Don't cry because it's over. Smile because it happened." Theodor Geisel |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
function is_email_valid ($email)
{
if (eregi ("^[a-z0-9\._-]+@[a-z0-9\._-]+(\.[a-z]{2,3}){1,2}$", $email))
return TRUE; // Email valida
else
return FALSE; // Email non valida
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jan 2003
Città: Brianza
Messaggi: 2687
|
Quote:
bella! grazie! non conoscevo la funzione eregi. ora vado a scoprire cos'è
__________________
"Le prime giornate di un europeo in America possono essere paragonate alla nascita di un uomo." Franz Kafka
"Don't cry because it's over. Smile because it happened." Theodor Geisel |
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
|
Quote:
__________________
zattix |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jan 2003
Città: Brianza
Messaggi: 2687
|
ok ho letto un po' di cose sulle espressioni regolari e sono riuscito ad interpretare la tua funzione
un paio di domande: dove scrivi Codice:
+(\.[a-z]{2,3}){1,2}$
Codice:
+\.([a-z]{2,3}){1,2}$
in questo caso le parentesi tonde sono ancora necessarie? e a cosa serve {1,2} alla fine? thanks
__________________
"Le prime giornate di un europeo in America possono essere paragonate alla nascita di un uomo." Franz Kafka
"Don't cry because it's over. Smile because it happened." Theodor Geisel |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Jan 2003
Città: Brianza
Messaggi: 2687
|
Quote:
almeno fino a quando non conoscerò il php ad un livello accettabile.
__________________
"Le prime giornate di un europeo in America possono essere paragonate alla nascita di un uomo." Franz Kafka
"Don't cry because it's over. Smile because it happened." Theodor Geisel |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
|
bé, se t'interessa:
Codice PHP:
buona fortuna
__________________
zattix Ultima modifica di ianaz : 21-07-2006 alle 17:11. |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Come vedi non esiste 1 sola ed unica espressione regolare per testare la validità di una email. ianaz ne ha fornita una diversa dalla mia e fatta in Javascript. Nella mia espressione, la parte (\.[a-z]{2,3}){1,2} serve per questo motivo: dopo il @dominio si possono avere tipicamente altri domini del tipo .com, .it ma anche .co.uk ad esempio. In pratica, con la mia espressione, si può avere .AA oppure .AAA (vedi {2,3}) e tutto questo si può ripetere una o due volte (vedi {1,2}). Ecco il perché delle parentesi che servono a raggruppare il contenuto.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jan 2003
Città: Brianza
Messaggi: 2687
|
Quote:
chiarissimo! non avevo pensato ai domini "doppi" grazie a entrambi
__________________
"Le prime giornate di un europeo in America possono essere paragonate alla nascita di un uomo." Franz Kafka
"Don't cry because it's over. Smile because it happened." Theodor Geisel |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:18.



















