Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    [VB.NET] - Validazione Email universale

    Ciao a tutti! Ho spulciato un po in giro e ho trovato vari script per validare le email..però son tutti diversi

    Nella fattispecie quello che mi è sembrato migliore è questo:
    codice:
    Imports System.Text.RegularExpressions 
        Function EmailAddressCheck(ByVal emailAddress As String) As Boolean
     
            Dim pattern As String = "^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"
            Dim emailAddressMatch As Match = Regex.Match(emailAddress, pattern)
            If emailAddressMatch.Success Then
                return True
            Else
                return false
            End If
     
        End Function

    Il problema è che mi da False anche su indirizzi tipo: "mio_indirizzo@miodominio.it" che invece sono validissimi...
    Non esiste un pattern "universale" che faccia davvero quello che deve fare? :P

  2. #2
    La RFC che descrive gli indirizzi e-mail validi è piuttosto ingarbugliata, e la regex che ne deriva è inusabile. Io mi accontenterei di fare un check "ignorante" per beccare gli errori più clamorosi (una roba tipo "[^\s@]+@[^\s@]+\.[\w]+" per indirizzi pubblici, o brutalmente "[^\s@]+@[^\s@]+" se sono consentiti anche indirizzi locali), tanto comunque bisogna essere pronti a gestire problemi in fase di invio.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3

  4. #4
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Si si ma espresso a parte c'è uno standard? Cioè (per dire) inviando con net.mail mi da errore sull'invio "carattere non valido" su una mail tipo ciao_ciao@miodominio.it però la mail è buona...cioè esiste e funziona...
    Tra l'altro mi restituisce un'eccezione generica SMTP (non sul recipiente) quindi complicata da gestire perchè:

    A) Non so quale sia l'email che rompe
    B) Se ci sono altre email nel blocco di invio non invia manco a quelle...

    A me sembra assurdo che un underscore sia "vietato" negli indirizzi....

  5. #5
    Quote Originariamente inviata da Veronica80 Visualizza il messaggio
    ... eccezione generica SMTP (non sul recipiente) ...
    tanto per sorridere: destinatario, non recipiente


  6. #6
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Quote Originariamente inviata da optime Visualizza il messaggio
    tanto per sorridere: destinatario, non recipiente

    Ahahah si ormai sto italianizzando tutti i termini dall'inglese! Comunque sia...la cosa strana è che se mando email un indirizzo specifico mi da l'errore "Invalid Character in Header" mentre se allo stesso indirizzo scrivo con Outlook funziona tutto...

    Non posso darvi l'indirizzo per questioni di privacy ma credetemi il formato è questo: mario_rossi@tiscali.it

  7. #7
    Sicura di non aver fatto per sbaglio copia-incolla da Word? Il dubbio che mi viene è che l'underscore sia stato sostituito con un qualche carattere Unicode tipograficamente più bello ma che non è più quello originale (ad esempio, tipicamente Word rimpiazza - con – , caratteri che sembrano uguali ma non lo sono, oppure cambia le virgolette e gli apici in "smart quotes").
    Amaro C++, il gusto pieno dell'undefined behavior.

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.