Ricercare Email in un testo

  • Creatore Discussione Creatore Discussione corkor
  • Data di inizio Data di inizio

corkor

Nuovo Utente
2 Feb 2006
10
0
0
Salve a tutti, non so se sia possibile ma avrei la necessità di ricercare in un testo se ci sono degli indirizzi email.
Il problema è che io non conosco gli indirizzi che sto cercando e dovrei estrarli dal testo.
Vi ringrazio anticipatamente dell'aiuto che mi darete.
 
Potresti fare una cosa relativamente semplice usando le espressioni regolari oppure le funzioni per le stringhe.

Ti do un input: dividi il testo in un array di stringa con la funzione Split e verifica che ogni item dell'array contenga o meno l'occorrenza della chiocciola.

Butto giù due righe di codice senza testarle:

<%
Dim stringa, arr_str, s
stringa = "Il mio indirizzo email è xxx@yyy.zzz scrivimi!"
arr_str = Split(stringa, " ")
For s = 0 To UBound(arr_str)
If InStr(arr_str(s), "@") > 0 Then
Response.Write "SI"
Else
Response.Write "NO"
End If
Next
%>

Ciao!
 
Ciao lukeonweb appena completo il codice ti faccio sapere ... Ciao e grazie...
 
Di nulla, fammi sapere!!!

Tieni presente che il mio esempio è molto semplice e poco flessibile: non è detto che funzioni bene, dato che se in un testo c'è la parola "Luc@" invece di "Luca", te la conteggia come email perchè vede la chiocciola.

La logica è quella, ma ti consiglio di impostare il controllo su tutti gli item con l'espressione regolare per l'indirizzo email.

Ciao!
 
Ciao lukeonweb grazie innanzitutto per la dritta ho implementato anche il controllo della validità dell'email, funziona benissimo...

Dim stringa, arr_str, s, email

stringa ="Il mio indirizzo email è xxx@yyy.zzz scrivimi!"
arr_str = Split(stringa, " ")

For s = 0 To UBound(arr_str)
If InStr(arr_str(s), "@") > 0 Then
email = arr_str(s)
if isEmail(email) then
exit for
else
email = ""
end if
End If
Next

Controllo validità email

function IsEmail(strEmail)

Dim objRegExp
Set objRegExp = New RegExp
objRegExp.Pattern = "^[a-z0-9._-]+\@[a-z0-9._-]+\.[a-z0-9]{2,4}$"
objRegExp.IgnoreCase = True
IsEmail = objRegExp.Test(strEmail)

end function

Un 'ultima cosa che si potrebbe fare è definire la variabile "email" come matrice in modo che se nel testo c'è più di un email le prende tutte...
Comunque grazie ancora...
 
Ultima modifica:

Discussioni simili