Verificar Mial -de libre uso

Artículos, debates sobre herramientas.
Responder
Daniel-Frugoni
Mensajes: 1
Registrado: Mar Jul 29, 2014 5:23 pm
Contactar:

Verificar Mial -de libre uso

Mensaje por Daniel-Frugoni » Vie Ago 01, 2014 10:23 pm

Function Mail(pMail),Byte
! Daniel Frugoni 31/07/2014
!
!Function Retun 0 = Ok
!ValidCh = Valid Chars (string)
!ValidBg = Valid Begin (String)
!ValidCt = Valid Country (String) (2 Ch every Country)
!ValidDm = Valid Domain (String) (? Ch for Domain)

ValidCh = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890._%+-@'
ValidBg = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'
ValidCt = 'AR|CH|US|MX|BR'
ValidDm = 'com|org|net|edu|gov|mil|biz|info|mobi|name|aero|asia|jobs|museum'
TmpEr# = 1 !Temporary Check only
!---------------------------------------------
IF Clip(pMail)='' Then Exit End
Mails =Clip(Left(pMail))
LENM# =Len(Mails) !length mail
!---Sacar espacio vacios = No empty spaces
TmpSt =''
Loop I# = 1 to LENM#
IF Mails[I#]<>' '
TmpSt[I#] = Mails[I#]
End
End
Mails = Clip(TmpSt)
LENM# =Len(Clip(Mails)) !length mail
!---Ve Inicio = Beginning (strpos dosnt work, no idea why)
IF INSTRING(Mails[1],ValidBg,1,1)= 0
Return 9
Elsif Mails[1]='.'
Return 8
Elsif Mails[LENM#]='.'
Return 7
Else
!---Check Country=Ver Pais
TmpSt= Mails[Len(Clip(Mails))-2 : Len(Clip(Mails))]
IF (TmpSt[1]='.' ) !Is Country
IF Not Instring(Upper(Clip(TmpSt[2:3])),Upper(Clip(ValidCt)),1,1)
Return 10
ELse
Mails = Mails[1 : Len(Clip(Mails))- 3] !Saco pasi = country out
End
End
!---Check Domain=Ver Dominio
TP# = Instring('.',Mails,-1,Len(Clip(Mails)))
TmpSt= Mails[TP#+1 : Len(Clip(Mails))]
IF Len(Clip(TmpSt))>0 !Is Doinio
IF Not Instring(Upper(Clip(TmpSt)),Upper(Clip(ValidDm)),1,1)
Return 11
Else
Mails = Mails[1 : TP#-1] !Saco Dominio = outDomain
End
End
End
!------------------------------------------------
ARR# = 0 ; CMA# = 0
Loop I# = 1 to LENM#
If Mails[I#] = '@'
ARR# +=1 !@=1 Es Ok ; Is Ok
IF NOT INSTRING(Mails[I#+1],ValidBg,1,1)
TmpEr#=3
Break
Elsif (ARR#=2)
TmpEr#=2
Break
End
Elsif Mails[I#] ='.'
Begin
IF Mails[I#+1]='.'
TmpEr#=5 !Not Valido
Break
Elsif Mails[I#+1]=''
TmpEr#=6 !Not Valido
Break
End
End
End
End
!------------------------------------------------
IF (TmpEr# <> 1)
Return TmpEr#
Else
Return 0 !Mail OK
End
Exit


Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 9 invitados