Här är en funktion som med vbscript (på en asp sida) skall kontrollera Det kan vara så att din sträng är tom. Ändra till Tack. Det funkade som du sa. (Jag är inte så rutinerad ännu. Jag håller Den här funktionen testar ganska genomgripande. Tack!!Får inte igång
om det finns något @ och någon punkt med i epostadressen.
Den stannar när den skall utföra InStr testningen.
Kan någon ge ett tips om varför?
<code>
<%
Sub testepost(email)
Dim snabela, punkt, testemail
testemail = Request.Form("epost")
' Tilldelar snabela och punkt en nolla. Vill använda dom som int.
snabela = CInt("0")
punkt = CInt("0")
' Sök efter positionen. Om 0 returneras så finns inte det som söks.
snabela = InStr(0, testemail, "@")
punkt = InStr(0, testemail, ".")
If (snabela > 0) Then snabela = 1
End If
If (punkt > 0) Then punkt = 1
End If
If (snabela + punkt > 1) then
Response.Redirect "newsletter_pop.asp?vad=ny"
End If
' Börja om igen
If (snabela + punkt = 0) then
response.Redirect "newsletter_pop.asp"
End If
End Sub
%>
</code>Sv: Får inte igång
<code>
If (InStr(testemail, "@") ) Then snabela = 1
If (InStr(testemail, ".") ) Then punkt = 1
</code>Sv: Får inte igång
fortfarande på att hitta olika sätt att lösa saker..) :)
En annan fråga i detta exempel:
På raden om:
If (snabela + punkt > 1) then
Response.Redirect "newsletter_pop.asp?vad=ny"
End If
Är det korrekt att hänga på epostadressen såhär:
Response.Redirect "newsletter_pop.asp?vad=ny&epost=" & testemail
Tack för råd och hjälp!
Mvh,
ChristianSv: Får inte igång
<code>
Function ValidateEmail(vAddress)
' Return Values:
'-1 : Address is valid.
' 0 : Invalid character was found.
' 1 : No @-character found.
' 2 : Too many @-characters was found.
' 3 : No account name found.
' 4 : There were fewer than two domain parts (@wennerberg.nu)
' 5 : One or more of the domain parts are less then one character.
' 6 : The top domain provided does not exist.
Dim strTopDomains
Dim strAt
Dim intIterator
Dim strChar
Dim strDomains
' Start by searching for invalid characters (<> a-z, A-Z, 0-9, [.], [-], [_], å, ä, ö)
For intIterator = 1 To Len(vAddress)
strChar = Mid(vAddress, intIterator, 1)
If Not ((Asc(LCase(strChar)) > 96 And Asc(LCase(strChar)) < 123) _
Or strChar = "@" _
Or strChar = "." _
Or strChar = "-" _
Or strChar = "_" _
Or LCase(strChar) = "å" _
Or LCase(strChar) = "ä" _
Or LCase(strChar) = "ö" _
Or IsNumeric(strChar)) Then
ValidateEmail = 0
Exit Function
End If
Next
' Check for @-character.
strAt = Split(vAddress, "@")
If UBound(strAt) < 1 Then
ValidateEmail = 1
Exit Function
ElseIf UBound(strAt) > 1 Then
ValidateEmail = 2
Exit Function
End If
' At least 1 characted must exist prior to the @.
If Len(strAt(0)) = 0 Then
ValidateEmail = 3
Exit Function
End If
' Begin validating domains.
strDomains = Split(strAt(1), ".")
' Fill variable with all top domains.
strTopDomains = ",AERO,ARPA,COM,COOP,MUSEUM,INT,NET,ORG,EDU,MIL,GOV,INFO,BIZ,AD,AE,AF,AG,AI,AL,AM," _
& "AN,AO,AQ,AR,AS,AT,AU,AW,AZ,BA,BB,BD,BE,BF,BG,BH,BI,BJ,BM,BN,BO,BR,BS,BT,BV,BW,BY," _
& "BZ,CA,CC,CD,CF,CG,CH,CI,CK,CL,CM,CN,CO,CR,CU,CV,CX,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE," _
& "EG,EH,ER,ES,ET,FI,FJ,FK,FM,FO,FR,FX,GA,GB,GD,GE,GF,GH,GI,GL,GM,GN,GP,GQ,GR,GS,GT," _
& "GU,GW,GY,HK,HM,HN,HR,HT,HU,ID,IE,IL,IN,IO,IQ,IR,IS,IT,JM,JO,JP,KE,KG,KH,KI,KM,KN," _
& "KP,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MC,MD,MG,MH,MK,ML,MM,MN,MO,MP," _
& "MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG," _
& "PH,PK,PL,PM,PN,PR,PS,PT,PW,PY,QA,RE,RO,RU,RW,SA,SB,SC,SD,SE,SG,SH,SI,SJ,SK,SL,SM," _
& "SN,SO,SR,ST,SV,SY,SZ,TC,TD,TF,TG,TH,TJ,TK,TM,TN,TO,TP,TR,TT,TV,TW,TZ,UA,UG,UM,US," _
& "UY,UZ,VA,VC,VE,VG,VI,VN,VU,WF,WS,YE,YT,YU,ZA,ZM,ZW,"
' At least two domain "parts" must exist.
If UBound(strDomains) < 1 Then
ValidateEmail = 4
Exit Function
End If
' Every domain part must be at least 1 character.
For intIterator = 0 To UBound(strDomains)
If Len(strDomains(intIterator)) = 0 Then
ValidateEmail = 5
Exit Function
End If
Next
' Ensure top domain is not fake.
If Not CInt(InStr(strTopDomains, "," & UCase(strDomains(UBound(strDomains))) & ",")) > 0 Then
ValidateEmail = 6
Exit Function
End If
' E-mail address is valid.
ValidateEmail = -1
End Function
</code>Sv: Får inte igång
Jag kommer nog att använda den här funktionen precis som den
ser ut... Den löser ju allt för mig!! :)
Tack igen!
Mvh,
Christian