Salut,
S-a mai discutat despre acest subiect si sunt diverse variante care folosesc "Regular Expression".
Dar se pare ca nu functioneaza pentru adresele de tipul "ionut..popescu@office" - adica vorbim de 2 puncte consecutive.
O solutie clasica ar fi:
Function IsValidEmail(sEmail As String) As Boolean
Dim sInvalidChars As String
Dim bTemp As Boolean
Dim i As Integer
Dim stemp As String
' Lista caractere nepermise
sInvalidChars = "!#$%^&*()=+{}[]|\;:'/?>,< "
' Verifica daca exista caracterul @
bTemp = InStr(sEmail, "@") <= 0
If bTemp Then GoTo exit_function
' Verifica daca exista cel putin un caracter .
bTemp = InStr(sEmail, ".") <= 0
If bTemp Then GoTo exit_function
' Verifica daca lungimea adresei este cel putin 6 (a@a.a nu este bine)
bTemp = Len(sEmail) < 6
If bTemp Then GoTo exit_function
' Verifica daca exista doar un caracter @
i = InStr(sEmail, "@")
stemp = Mid(sEmail, i + 1)
bTemp = InStr(stemp, "@") > 0
If bTemp Then GoTo exit_function
' Verificare suplimentara
' Dupa caracterul @ nu este permis spatiu
bTemp = InStr(stemp, " ") > 0
If bTemp Then GoTo exit_function
' Verificare suplimentara
' Dupa caracterul @ nu este permis punct
bTemp = Left(stemp, 1) = "."
If bTemp Then GoTo exit_function
' Verifica daca exista cel putin un . dupa caracterul @
bTemp = InStr(stemp, ".") = 0
If bTemp Then GoTo exit_function
' Verifica daca exista caracterul "
bTemp = InStr(sEmail, Chr(34)) > 0
If bTemp Then GoTo exit_function
' Verifica existenta caracterelor nepermise
If Len(sEmail) > Len(sInvalidChars) Then
For i = 1 To Len(sInvalidChars)
If InStr(sEmail, Mid(sInvalidChars, i, 1)) > 0 _
Then bTemp = True
If bTemp Then Exit For
Next
Else
For i = 1 To Len(sEmail)
If InStr(sInvalidChars, Mid(sEmail, i, 1)) > 0 _
Then bTemp = True
If bTemp Then Exit For
Next
End If
If bTemp Then GoTo exit_function
' Verificare suplimentara
' Nu sunt permise doua caractere . (punct) consecutive
bTemp = InStr(sEmail, "..") > 0
If bTemp Then GoTo exit_function
' Verificare suplimentara
' La domeniu trebuiesc minim 2 caractere
bTemp = ((Len(sEmail)) < (InStr(sEmail, ".") + 2))
If bTemp Then GoTo exit_function
exit_function:
' Daca cel putin o conditie din cele de mai sus este TRUE
' atunci adresa de email este invalida
IsValidEmail = Not bTemp
End Function
Validare adresa email
Ce este nou in Microsoft Excel 2016?
Informatii despre cum se utilizeaza Microsoft Excel 2016
Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc
Informatii despre cum se utilizeaza Microsoft Excel 2016
Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc
-
- Mesaje: 1
- Membru din: Vin Aug 07, 2020 2:31 pm
Validare adresa email
Mesaj de vionescu71 » Mie Aug 12, 2020 8:42 pm
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Înapoi la “Intrebari despre Excel 2016”
Mergi la
- Administrative
- ↳ Anunturi
- ↳ Concursuri
- ↳ Condica de sugestii si reclamatii
- Comunitati IT Learning
- ↳ Office Specialist: Comunitatea Microsoft Office din Romania
- ↳ Microsoft Excel - Intrebari tehnice (legatura catre forumul dedicat Dr.Excel)
- ↳ Microsoft Access - Intrebari tehnice
- ↳ Invata Microsoft Access cu Echipa IT Learning
- ↳ Intrebari despre Access 2019
- ↳ Intrebari despre Access 2016
- ↳ Intrebari despre Access 2013
- ↳ Intrebari despre Access 2010
- ↳ Intrebari despre Access 2007
- ↳ Intrebari despre Access 2003
- ↳ Tips and tricks in Access (indiferent de versiune)
- ↳ Microsoft Word - Intrebari tehnice
- ↳ Invata Microsoft Word cu Echipa IT Learning
- ↳ Intrebari despre Word 2019
- ↳ Intrebari despre Word 2016
- ↳ Intrebari despre Word 2013
- ↳ Intrebari despre Word 2010
- ↳ Intrebari despre Word 2007
- ↳ Intrebari despre Word 2003
- ↳ Tips and tricks in Word (indiferent de versiune)
- ↳ Microsoft Outlook - Intrebari tehnice
- ↳ Invata Microsoft Outlook cu Echipa IT Learning
- ↳ Intrebari despre Outlook 2019
- ↳ Intrebari despre Outlook 2016
- ↳ Intrebari despre Outlook 2013
- ↳ Intrebari despre Outlook 2010
- ↳ Intrebari despre Outlook 2007
- ↳ Intrebari despre Outlook 2003
- ↳ Tips and tricks in Outlook (indiferent de versiune)
- ↳ Microsoft Powerpoint- Intrebari tehnice
- ↳ Invata Microsoft Powerpoint cu Echipa IT Learning
- ↳ Intrebari despre Powerpoint 2019
- ↳ Intrebari despre Powerpoint 2016
- ↳ Intrebari despre Powerpoint 2013
- ↳ Intrebari despre Powerpoint 2010
- ↳ Intrebari despre Powerpoint 2007
- ↳ Intrebari despre Powerpoint 2003
- ↳ Tips and tricks in Powerpoint (indiferent de versiune)
- ↳ Visual Basic for Application (VBA) - Intrebari tehnice
- ↳ Invata sa programezi in VBA de la Echipa IT Learning
- ↳ Alte programe din suita Microsoft Office
- ↳ Invata Microsoft Project cu Echipa IT Learning
- ↳ Dr.Excel: Comunitatea Microsoft Excel din Romania
- ↳ Microsoft Excel - Intrebari tehnice
- ↳ Invata Microsoft Excel cu Echipa Dr.Excel
- ↳ Intrebari despre Excel 2019
- ↳ Intrebari despre Excel 2016
- ↳ Intrebari despre Excel 2013
- ↳ Intrebari despre Excel 2010
- ↳ Intrebari despre Excel 2007
- ↳ Intrebari despre Excel 2003
- ↳ Tips and Tricks Excel
- ↳ Probleme cu aplicatiile ce folosesc Excel ca aplicatie ajutatoare
- ↳ Visual Basic for Application (VBA) cu Excel - Intrebari tehnice
- ↳ Invata sa programezi in VBA de la Echipa Dr.VBA
- ↳ Power Query & Power Pivot
- ↳ Dr.Windows: Comunitatea Microsoft Windows din Romania
- ↳ Microsoft Windows - Intrebari tehnice
- ↳ Invata Microsoft Windows cu Echipa IT Learning
- ↳ Intrebari despre Windows 10
- ↳ Intrebari despre Windows 8
- ↳ Intrebari despre Windows 7
- ↳ Intrebari despre Windows Vista
- ↳ Intrebari despre Windows XP
- ↳ Intrebari despre ALTE versiuni de Windows
- Servicii IT Learning
- ↳ Despre cursurile in clasa
- ↳ Despre cursurile online (www.office-learning.ro)
- ↳ Discutii despre Cursurile Office-Learning
- ↳ Cursurile interactive de Excel
- ↳ Cursurile interactive de Access
- ↳ Cursurile interactive de Powerpoint
- ↳ Cursurile interactive de Word
- ↳ Cursurile interactive de Outlook
- ↳ Despre certificarile Microsoft
- Diverse
- ↳ Discutii libere (Cafenea)
- ALTE FORUMURI ROMANESTI
- ↳ CODEXPERT