Postada em 22/11/2010 12:21 hs
Oi Rafaela, achei na net a função que valida CEP, estava em delphi, migre para VB. tendo em conta que é para um mskeditbox ou text com o formato #####-###
Function ChecaCEP(cEstado As String, cCep As String) As Boolean Dim cCEP1 As Integer
cCep = Mid(cCep, 1, 5) + Mid(cCep, 7, 3) cCEP1 = CInt(Mid(cCep, 1, 3)) If Len(Trim(cCep)) > 0 Then If (CLng(cCep) <= 10000000) Then MsgBox "CEP tem que ser maior que [01000-000]", vbExclamation, "Aviso..." ChecaCEP = False ElseIf Len(Trim(Mid(cCep, 6, 3))) < 3 Then ChecaCEP = False ElseIf (cEstado = "SP") And (cCEP1 >= 10) And (cCEP1 <= 199) Then ChecaCEP = True ElseIf (cEstado = "RJ") And (cCEP1 >= 200) And (cCEP1 <= 289) Then ChecaCEP = True ElseIf (cEstado = "ES") And (cCEP1 >= 290) And (cCEP1 <= 299) Then ChecaCEP = True ElseIf (cEstado = "MG") And (cCEP1 >= 300) And (cCEP1 <= 399) Then ChecaCEP = True ElseIf (cEstado = "BA") And (cCEP1 >= 400) And (cCEP1 <= 489) Then ChecaCEP = True ElseIf (cEstado = "SE") And (cCEP1 >= 490) And (cCEP1 <= 499) Then ChecaCEP = True ElseIf (cEstado = "PE") And (cCEP1 >= 500) And (cCEP1 <= 569) Then ChecaCEP = True ElseIf (cEstado = "AL") And (cCEP1 >= 570) And (cCEP1 <= 579) Then ChecaCEP = True ElseIf (cEstado = "PB") And (cCEP1 >= 580) And (cCEP1 <= 589) Then ChecaCEP = True ElseIf (cEstado = "RN") And (cCEP1 >= 590) And (cCEP1 <= 599) Then ChecaCEP = True ElseIf (cEstado = "CE") And (cCEP1 >= 600) And (cCEP1 <= 639) Then ChecaCEP = True ElseIf (cEstado = "PI") And (cCEP1 >= 640) And (cCEP1 <= 649) Then ChecaCEP = True ElseIf (cEstado = "MA") And (cCEP1 >= 650) And (cCEP1 <= 659) Then ChecaCEP = True ElseIf (cEstado = "PA") And (cCEP1 >= 660) And (cCEP1 <= 688) Then ChecaCEP = True ElseIf (cEstado = "AM") And ((cCEP1 >= 690) And (cCEP1 <= 692) Or (cCEP1 >= 694) And (cCEP1 <= 698)) Then ChecaCEP = True ElseIf (cEstado = "AP") And (cCEP1 = 689) Then ChecaCEP = True ElseIf (cEstado = "RR") And (cCEP1 = 693) Then ChecaCEP = True ElseIf (cEstado = "AC") And (cCEP1 = 699) Then ChecaCEP = True ElseIf ((cEstado = "DF") Or (cEstado = "GO")) And (cCEP1 >= 0) And (cCEP1 <= 999) Then ChecaCEP = True ElseIf (cEstado = "TO") And (cCEP1 >= 770) And (cCEP1 <= 779) Then ChecaCEP = True ElseIf (cEstado = "MT") And (cCEP1 >= 780) And (cCEP1 <= 788) Then ChecaCEP = True ElseIf (cEstado = "MS") And (cCEP1 >= 790) And (cCEP1 <= 799) Then ChecaCEP = True ElseIf (cEstado = "RO") And (cCEP1 = 789) Then ChecaCEP = True ElseIf (cEstado = "PR") And (cCEP1 >= 800) And (cCEP1 <= 879) Then ChecaCEP = True ElseIf (cEstado = "SC") And (cCEP1 >= 880) And (cCEP1 <= 899) Then ChecaCEP = True ElseIf (cEstado = "RS") And (cCEP1 >= 900) And (cCEP1 <= 999) Then ChecaCEP = True Else ChecaCEP = False End If End If End Function
vc chama a funcção passando parametros do estado e o cep. If ChecaCEP(CmbEstado, MskEdCEP.Text) = True Then MsgBox "CEP Valido", vbExclamation, "Aviso..." Else MsgBox "CEP Não Valido", vbExclamation, "Aviso..." End If
|