Funktionen nedan returnerar True om strängen är en korrekt e-postadress och False om det inte är det. MEN... det är två buggar i den som jag inte kan fixa, och jag hoppas nån kan hjälpa mig. Denna funktion använder jag för att kolla om en mailaddress är riktig eller ej: Det såg ut att fungera utmärkt... men sen upptäckte jag att denna kod inte kollar så att det finns minst 2 tecken efter sista punkten. Helt plötsligt fick jag kunskaper. Så här gjorde jag för att lösa detta efter att jag kört ovanstående pattern: Detta kanske hjälper dig liteHjälp med denna e-postvalideringsfunktionen
    
    
Buggarna är:
1. Kontrollerar inte om något är före @. Det borde den göra.
2. Tillåter inte en punkt FÖRE @, utan kollar bara om punkten kommer efter @.
Någon hjälpsam själ?
<%
Private Function IsEmail(byVal mailaddress)
	Dim tmp, x, y, bErr, tmp2, objReg
	Dim objMatch, z, i
	bErr = False
	tmp = Trim( mailaddress )
	tmp = CStr( mailaddress )
	 ' minimum 6 characters...
	if len(tmp) < 6 then
		IsEmail = False
		Exit Function
	end if
	 ' need an @ but only 1 is allowed
	If instr(tmp, "@") then
		x = instr(tmp, "@")
		y = instr(x + 1, tmp, "@")
		On Error Resume Next
		y = CLng(y)
		If Err Then bErr = True Else bErr = False
		On Error GoTo 0
		If bErr Then
			IsEmail = False
			Exit Function
		End If
		if y <> 0 then
			IsEmail = False
			Exit Function
		end if
	Else
		IsEmail = False
		Exit Function
	End If
	 ' the "." must come after the "@"
	If InStr( Left( tmp, CLng(x) ), "." ) Then
		IsEmail = False
		Exit Function
	Else
		tmp2 = Right( tmp, Len(tmp) - CLng(x) )
		If InStr( tmp2, "." ) Then
			 ' must have at least one character between @ and .
			Set objReg = New RegExp
			With objReg
				.Global = True
				.IgnoreCase = True
				.Pattern = "[A-Z]|[0-9]"
				Set objMatch = .Execute(tmp2)
			End With
			If objMatch.Count = 0 then
				IsEmail = False
				Exit Function
			End If
			Set objMatch = Nothing
			Set objReg = Nothing
		Else
			IsEmail = False
			Exit Function
		End If
	End If
	 ' needs to have at least 2 characters (letters) after the .
	z = InStr( tmp, "." )
	tmp2 = Right( tmp, Len(tmp) - z )
	Set objReg = New RegExp
	With objReg
		.Global = True
		.IgnoreCase = True
		.Pattern = "[A-Z][A-Z]"
		Set objMatch = .Execute(tmp2)
	End With
	If objMatch.Count = 0 then
		IsEmail = False
		Exit Function
	End If
	Set objMatch = Nothing
	Set objReg = Nothing
	 ' check for illegal characters
	For i = 1 to Len(tmp)
		tmp2 = Mid( tmp, i, 1 )
		Select Case tmp2
			Case "(", ")", ";", ":", ",", "/", "'", chr(34), _
			     "~", "`", "!", "#", "$", "%", "^", "&", "*", _
			     "+", "=", "[", "]", "{", "}", "|", "\", "?", _
			     " ", "<", ">"
				IsEmail = False
				Exit Function
			Case Else
		End Select
	Next
	 ' if an address makes it through, it's an email address
	IsEmail = True
End Function
%>Sv: Hjälp med denna e-postvalideringsfunktionen
    
    
<kod>
	'-- check the email-address	-----------------------------------------------
	set oReg = new RegExp
	oReg.pattern = "^[\w\.-]+@[\w\.-]+\.[a-zA-Z]+$"
	bResult = oReg.Test(sEmail)
	if not bResult then
		set oReg = nothing
		response.redirect "/page_error.asp?errorId=10001"
	end if
	set oReg = nothing
</kod>
Ser lättare ut en den du har men kanske inte kollar lika nogrant, är inte så bra på pattern men tro att den säger att det måste finnas tecken innan @ samt att det kan finnas en punkt med. Efter @ finns tecken samt att det måste finnas minst en punkt och sedan tecken mellan a-z
MVH
MagnusTack så mycket...men
    
    
Nån som vet hur jag kommer åt detta?Men jag löste det
    
    
InStrRev(str, ".") > Len(str) - 2Sv: Hjälp med denna e-postvalideringsfunktionen
    
    
<?
  $namn = $_POST['namn'];
  $epost = $_POST['epost'];
  if (eregi("^[A-Za-z0-9\-\_\.]{1,}@{1}[A-Za-z0-9\-\_\.]{1,}\.{1}[a-zA-Z]{2,4}$",$epost)){
            echo "<p>";
            echo "Namn: ";
            echo $namn;
            echo "</p>";
            echo "<p>";
            echo "Epost: ";
            echo $epost;
            echo "</p>";
            echo "<p>";
            echo "Du matade in en giltig epostadress";
            echo "</p>";
      } else{
      echo "<p> Epostadressen är ogiltig. </P>";
      }
?>
Denna tar det mesta