# Email Adresse auf Richtigkeit prüfen



## Guest (9. Mrz 2005)

Ich habe in Java einen String und möchte ihn gerne daraufhin überprüfen, ob es sich um eine gültige Email-Adresse handelt. Mir reicht es schon wenn der String auf ein @-Zeichen hin überprüft wird. Kenn mich jedoch nicht wirklich mit dem Vergleichen von Strings aus. Kann mir jemand eine Möglichkeit zum Vergleichen sagen?


----------



## dotlens (9. Mrz 2005)

```
if (deinString.indexOf("@") != null){
  //email ist korrekt
}
```


----------



## Sky (9. Mrz 2005)

dotlens hat gesagt.:
			
		

> ```
> if (deinString.indexOf("@") != null){
> //email ist korrekt
> }
> ```



Ich denke eher

```
deinString.indexOf("@") != -1
```


----------



## dotlens (9. Mrz 2005)

hab ich doch gemeint :bae:


----------



## Guest (9. Mrz 2005)

Danke, das war es schon


----------



## Dukel (10. Mrz 2005)

Jetzt nur noch vor dem @ ein paar zeichen, nach dem @ noch ein paar zeichen mit einem punkt und dahinter eine tld.
Sonst geht "@" auch als Mail Addresse.


----------



## Sky (10. Mrz 2005)

Guck Dir mal die Regulären Ausdrücke an!


----------



## Stefan1200 (10. Mrz 2005)

Ohne regex könnte man es so machen:


```
boolean validMailAddress(String mailAddress)
{
    boolean retValue = true;
    
    int i = mailAddress.indexOf("@");
    int j = mailAddress.indexOf(".", i);
    
    if (i == 0)  // Anzahl der Zeichen vor dem @
    {
        retValue = false;
    }
    
    if (j == -1)  // Prüft ob kein Punkt nach dem @ Zeichen kommt
    {
        retValue = false;
    }
    
    if ((j - i) < 2)  // Prüft Anzahl der Zeichen zwischen dem @ und dem .
    {
        retValue = false;
    }
    
    if (j == (mailAddress.length-1))  // Mail Adresse muss länger sein, als die Stelle vom Punkt
    {
        retValue = false;
    }

    return retValue;
}
```

Edit: Habe die Methode noch etwas erweitert ;-).
Edit2: Bugfix ;-)


----------



## Sky (10. Mrz 2005)

Stefan1200 hat gesagt.:
			
		

> Ohne regex könnte man es so machen:
> 
> 
> ```
> ...



Zusätzlich muss noch geprüft werden, ob der Punkt nicht das letzte Zeichen ist: 
	
	
	
	





```
if (j == -1 || j == (mailAddress.length()-1) )
```


----------



## thE_29 (10. Mrz 2005)

Und am besten wäre halt eine Auflösung, bzw ping Probe auf den hinteren Teil der Adresse  (Optional halt )


----------



## Dreezard (10. Mrz 2005)

Um keinen neuen Thread aufzumachen wollte ich hier noch die Frage stellen, wie es denn möglich ist zu prüfen ob die Adresse wirklich gültig ist,a slo ob die Domain stimmt und der Name auch wirklich auf dieser Vorhanden ist?


----------



## Sky (10. Mrz 2005)

Einfach eine Mail hinschicken und die Antwort auswerten...


----------

