Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-07-2006, 14:35   #1
negator136
Senior Member
 
L'Avatar di negator136
 
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
negator136 è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2006, 14:40   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da negator136
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 ***@***.***?
Io mi sono fatto una funzione apposita che usa una espressione regolare:
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, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2006, 14:59   #3
negator136
Senior Member
 
L'Avatar di negator136
 
Iscritto dal: Jan 2003
Città: Brianza
Messaggi: 2687
Quote:
Originariamente inviato da andbin
Io mi sono fatto una funzione apposita che usa una espressione regolare:
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
}

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
negator136 è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2006, 15:22   #4
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
Quote:
Originariamente inviato da negator136
bella! grazie!


non conoscevo la funzione eregi. ora vado a scoprire cos'è
c'é anche per JavaScript...ti conviene quasi farne una in JS così da non caricare un altra pagina e poi farlo comuqnue sull'altra in php
__________________
zattix
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2006, 15:29   #5
negator136
Senior Member
 
L'Avatar di negator136
 
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}$
potrei scrivere anche
Codice:
+\.([a-z]{2,3}){1,2}$
o sbaglio?

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
negator136 è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2006, 15:47   #6
negator136
Senior Member
 
L'Avatar di negator136
 
Iscritto dal: Jan 2003
Città: Brianza
Messaggi: 2687
Quote:
Originariamente inviato da ianaz
c'é anche per JavaScript...ti conviene quasi farne una in JS così da non caricare un altra pagina e poi farlo comuqnue sull'altra in php
purtroppo conosco il JS ancor meno del PHP (ovvero per nulla) quindi mi conviene cercare di restare su quest'ultimo per il momento...

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
negator136 è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2006, 15:56   #7
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
bé, se t'interessa:

Codice PHP:
Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
if (!
Filtro.test(email@email.com)){
                      
alert("L'e-mail non é valida.");
                      } 



buona fortuna
__________________
zattix

Ultima modifica di ianaz : 21-07-2006 alle 17:11.
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2006, 16:49   #8
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da negator136
dove scrivi
Codice:
+(\.[a-z]{2,3}){1,2}$
potrei scrivere anche
Codice:
+\.([a-z]{2,3}){1,2}$
o sbaglio?

in questo caso le parentesi tonde sono ancora necessarie?

e a cosa serve {1,2} alla fine?
Non devi togliere quelle parentesi (altrimenti il significato cambia).

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, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2006, 18:24   #9
negator136
Senior Member
 
L'Avatar di negator136
 
Iscritto dal: Jan 2003
Città: Brianza
Messaggi: 2687
Quote:
Originariamente inviato da andbin
Non devi togliere quelle parentesi (altrimenti il significato cambia).

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.

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
negator136 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
Una tassa di 5,5 centesimi su ogni gigab...
Vuoi clonare un videogioco con l'IA? Cla...
Furto da 6,3 miliardi di dollari, Binanc...
Gli USA dipendono dai robot stranieri: T...
Volkswagen non ha più soldi per l...
Telescopio spaziale Hubble: la NASA cerc...
Più sottile e potente: le nuove i...
Il JPL estende la vita operativa della s...
DAZN Full è in offerta: tutta la ...
GTA 6 su PC potrebbe arrivare prima del ...
Da zero al tracciato in secondi: LibreCo...
Il regista Rian Johnson lancia a 12,99 d...
Microsoft stravolge l'app Sicurezza di W...
Mercato smartphone in caduta libera: -20...
Android 17 QPR3 Beta 3 riporta il blocco...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:45.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v