Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Regex Indirizzo Mail

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305

    Regex Indirizzo Mail

    codice:
    private static final String regexMail="(([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}))";
    Questa è l'espressione regolare per un indirizzo mail. Devo far si pero chel'indirizzo nel suo complesso non superi i 35 caratteri. Inoltre volevo chiedervi ma un indirizzo mail ha una lunghezza massima?

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    codice:
    if (emailAddress.length() > 35) 
    { 
        ERRORE!
    }
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    no devo usare sempre le espressioni regolare nessun if aggiuntivo!

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Ok.

    Avrei detto di aggiungere alla fine {1,35} ma mi sono accorto che non è proprio corretto.
    Nel senso, se ho

    String regex = ".{1,5}";

    "1", "111", "12345" vengono accettate, "1234567" no.

    Ma con la tua regex non funziona perché viene interpretato come "tutto quello che c'è prima, ripetuto fino a X volte"
    Ho qualche dubbio che si possa fare ma lascio la parola a chi ne sa più di me
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    prova così:
    codice:
    private static final String regexMail="(?=^.{5,35}$)([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4})";
    non sono un esperto di lookahead / lookbehind, per cui ho combinato un po' di cose trovate in giro alla tua.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Quote Originariamente inviata da linux_r Visualizza il messaggio
    Inoltre volevo chiedervi ma un indirizzo mail ha una lunghezza massima?
    Sì. 254 caratteri.
    La RFC 5321 dice che la lunghezza massima per una reverse-path o per una forward-path (in pratica, per un indirizzo e-mail dal punto di vista di un server smtp) è di 256 caratteri.

    Ora, una Path è definita nel modo seguente:


    codice:
    Path = "<" [ A-d-l ":" ] Mailbox ">"

    Quindi, una Path è comprensiva delle parentesi angolari, che riducono di fatto la lunghezza massima di un indirizzo e-mail a 254 caratteri.

    Ci sono stati diversi dibattiti sull'argomento: la dimensione massima prevedeva 320 caratteri dati dalla "local part" di 64 caratteri (il nome utente) + il carattere "@" + la "domain part" di 255 caratteri (il nome di dominio). Però la RFC 2821 prevedeva un limite più restrittivo, di 256 caratteri. Per il motivo spiegato sopra, però, l'effettiva dimensione di un indirizzo e-mail non può superare i 254 caratteri.

    Puoi trovare l'errata-corrige con le dovute spiegazioni e precisazioni qui: http://www.rfc-editor.org/errata_sea...=3696&eid=1690


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.