Newsgroup: it.comp.lang.javascript
Titolo: Validare una campo mail con RegEx

Ciao tutti,
ho cercato già in giro ma non riesco a costruire un pattern decente.
Sostanzialmente devo validare un campo mail, ma non mi occorre fare
dei controlli molto profondi.
Per me il campo è valido se trova una chiocciola, con qualcosa prima
ed un punto dopo la chiocciola.
Ho provato questa... ma non va!
\w\.\@\w\.[a-zA-Z]{2,}$
Se non erro si traduce con:
\w
tutti i campi alfanumerici: a-zA-Z0-9_
\.
il punto
\@
la chiocciola
\w
...come prima...
\.
il punto
[a-zA-Z]{2,}
almeno due caraterri compresi tra i due range nelle quadre...
però non và...
pi...@pluto.com
 non lo valida!!!
Qualche aiuto?
Ciao e grazie a tutti!

 Ciao e grazie a tutti!
De nada.
-- 
~ "Non sono solitamente un uomo che prega,
ma se sei lassù, per favore salvami,Superman."
(Homer Simpsons)

         12-/1^\12...@b.sAlve

GENIO!
Ancora 1k grazie!


-- 
~ "L'arte non riproduce cio' che e' visibile,ma rende visibile cio'
che non  sempre lo e'" (Paul Klee)

 il tutto, ignorando maiuscole/minuscole ( /i, ignore case).
"\w" equivale a "a-zA-Z0-9_" quindi "i" è superfluo. (almeno io non
ho mai visto un dominio maiuscolo) :-)
-- 
    * b *
  *   y   *
*   Piero   *
[ /audaces fortuna iuvat/ ] 

 ho mai visto un dominio maiuscolo) :-)
Se uno mi scrive 
PI...@PLUTO.COM
 è comunque un indirizzo valido,
sebbene scritto col caps lock attivo, probabilmente. :)
-- 
~ Se i sintomi persistono, insultare il medico.

 TP/BP/Delphi/jscr/&c, FAQ items, links.

 sebbene scritto col caps lock attivo, probabilmente. :)
Ok, ti credo sulla parola, ora non ho voglia di spulciarmi le RFC :-),
tuttavia hai dimenticato il hyphen-minus "-":
/^[\w.-]+@[\w-]+\.[a-z]{2,4}$/i (carattere permesso negli indirizzi) :-)
-- 
    * b *
  *   y   *
*   Piero   *
[ /ad maiora/ ] 

 /^[\w.-]+@[\w-]+\.[a-z]{2,4}$/i (carattere permesso negli indirizzi) :-)
Se č per questo, nella local-part degli indirizzi email č permesso
praticamente qualsiasi carattere. Perň non tutte le sequenze sono ben
formate. Ad esempio, il '.' deve separare due 'word' (vedi RFC822).
Questo, ad esempio, č un indirizzo valido:
   pippo."ciao."@
dominio.com
Questi non lo sono:
   .
pi...@dominio.com
 
 
pippo.@dominio.com
 
 
p..ippo@dominio.com
Detto questo, nessuno sano di mente vorrebbe usare indirizzi come quello del
primo esempio, quindi facciamo finta che non possano esistere.
Caratteri come '+' e '%', invece, non sono cosě improbabili da trovare e
quindi ti consiglierei di inserirli nella regexp.
Per la parte che rappresenta il dominio, poi, userei qualcosa come:
    ((\w|\w[\w-]*\w)\.)+[a-z]{2,4}
che proibisce cose come "-dom..
inio.com
", ma permette "
d.o-m.inio.com
".
Max


Che se ben ricordo dovresti aver sicuramente visto in un altro thread.
E sinceramente, ne faccio volentieri a meno di cercare di implementare
un qualcosa del genere in JS.


 un qualcosa del genere in JS.
Vero, pensa che l'avevo già dimenticato. :-/
P.S. - Ho scorso velocemente la RFC822 e la più recente RFC1506
       dell'agosto 1993 (di cui incollo alcune righe copiate al
       punto _3.2. RFC 822 addresses_) per avere conferma dell'uso
       del testo maiuscolo. Come puoi vedere è permesso questo ed
       altro... forse troppo. ^_^
.............. _*Beginning of the citation*_ ..............
Consider the following addresses:
        oops!user          (a UUCP address)
        V13ENZACC@CZKETH5A (a BITNET address)
    These addresses can be expressed in RFC 822 format:
        us...@oops.uucp
        V13E...@CZKETH5A.BITNET
............... _*The end of the citation*_ ...............
-- 
    * b *
  *   y   *
*   Piero   *
[ /carpe diem/ ] 


............... _*The end of the citation*_ ...............
-- 
    * b *
  *   y   *
*   Piero   *
[ /panem et circenses/ ] 

 Che stranamente non č cliccabile,
Non c'č niente di strano. I client di posta/news usano tecniche euristiche
per scoprire in un testo quali sequenze -nelle intenzioni dell'autore- sono
indirizzi email o URL. A volte ci azzeccano, a volte no. Il mio indirizzo
con lo slash probabilmente non apparirebbe cliccabile.
Max

 Il mio indirizzo con lo slash probabilmente non apparirebbe cliccabile.
Appare cliccabile e lo č. ;-)
http://download.yousendit.com/38E10E7235F46088
-- 
    * b *
  *   y   *
*   Piero   *
[ /errare humanum est/ ]