Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
04.10.12, 10:36
|
#1
|
Anfänger
Registriert seit: Oct 2008
Beiträge: 9
Bedankt: 3
|
C# Anfänger Email Abfrage
Guten tag liebe Community, ich habe gerade angefangen mit C# und wollte gerne eine TextBox.Text überprüfen ob eine email drinne steht und nicht nur hd92z2gbdiz2t87 irg welche zeichen  wie kann ich das anstellen ? Am besten so einfach wie mögich.
if(TextBox.Text == (Emailüberprüfen)
{
MessageBox.Show("Email Richtig")
}
else
{
MessageBox.Show("Email Falscg")
}
|
|
|
04.10.12, 10:44
|
#2
|
Erfahrener Newbie
Registriert seit: Jul 2010
Beiträge: 191
Bedankt: 34
|
Naja, weiß jetzt nicht wie die Syntax in C# ansieht. Ich würde den String jedoch in ein Char-Array speichern und überprüfen ob dieses ein Punkt, ein @ bzw ein Länder kürzel enthält (z.B .de, dies wird man jedoch besser mit dem vorhandenen String testen können). Wenn du es ganz genau machen willst, kannst du natürlich auch die Charfächer auf die Anzahl enthaltener Zahlen überprüfen und ab einer gewissen anzahl sagen, dass ist keine Email mehr, jedoch ist dies denke ich nicht nötig.
|
|
|
04.10.12, 10:53
|
#3
|
Anfänger
Registriert seit: Oct 2008
Beiträge: 9
Bedankt: 3
|
Könnte man das vl noch ein beispiel code posten wie geschrieben bin ein anfänger :P
|
|
|
04.10.12, 10:58
|
#4
|
Erfahrener Newbie
Registriert seit: Jul 2010
Beiträge: 191
Bedankt: 34
|
PHP-Code:
public boolean emailTesten(String s){
char[] charArray = s.toCharArray();
for (int i = 0; i < charArray.length; i++) {
if(charArray[i] == '@'){
i = charArray.length -1; // Wenn kein "." gefunden wurde, geht er nach folendung
// der For schleife sofort aus der Methode und return false
for (int j = 0; j < charArray.length; j++) {
if(charArray[j] == '.'){
return true;
}
}
}
}
return false;
}
Dies ist jetzt Javacode. Ich weiß nicht in wieweit du das in C# verwenden kannst.
Falls du Fragen zu dem Code hast, einfach Fragen.
So naja, man überprüft jetzt nur ob ein @ bzw. ein . vorhanden sind. Es wird aber nicht geprüft wo sich diese befinden. Wenn du es noch genauere haben willst, wäre es gut wenn du dich selbst drann setzt und dann anschließend bei Fragen, Lösungen und Problemen dich hier wieder meldest.
|
|
|
04.10.12, 12:22
|
#5
|
Anfänger
Registriert seit: Dec 2009
Beiträge: 28
Bedankt: 95
|
Du hast 2 Möglichkeiten:
1. manuell die E-Mail-Adresse zerlegen und dabei ihre Teile getrennt prüfen und zwar:
Code:
<localpart> <@> <domain inkl evtl subdomains und tld>
Ein einfacher unvollständiger Code könnte so aussehen (auch Java):
PHP-Code:
public class EMailValidator {
public boolean isValidEmail(final String mail) { if (mail == null) { return false; } final String[] parts = mail.split("@"); if (parts.length != 2) { return false; } return isValidLocalPart(parts[0]) && isValidDomainPart(parts[1]); }
private boolean isValidLocalPart(final String part) { if (part.isEmpty()) { return false; } // TODO check local part return false; }
private boolean isValidDomainPart(final String part) { if (part.isEmpty()) { return false; } final String[] domains = part.split("."); if (domains.length < 2) { return false; } // TODO check domains return false; }
}
2. RegEx : damit ist das Ganze dann ein Einzeiler
It's your choice ...
|
|
|
07.10.12, 22:02
|
#6
|
Anfänger
Registriert seit: May 2012
Beiträge: 5
Bedankt: 0
|
So würde ich deine überprüfung durchführen:
C# Code
Code:
private void button1_Click(object sender, EventArgs e)
{
string text = textBox1.Text;
if (überprüfen(text))
MessageBox.Show("Email Richtig");
else
MessageBox.Show("Email Falsch");
}
public bool überprüfen(string s)
{
char[] text;
text = s.ToCharArray(); // Stringtext in ein Char ablegen
bool atVorhanden = false, punktVorhande = false;
for (int i = 0; i < text.Length; i++) // alle char zeichen durchgehen
{
if (text[i] == '@') // Wenn aktuelles zeichen == '@' bool
atVorhanden auf True setzen
atVorhanden = true;
if (text[i] == '.') // Wenn aktuelles zeichen == '.' bool
punktVorhanden auf True setzen
punktVorhande = true;
if (punktVorhande && atVorhanden) // falls beide Zeichen in der
Zeichenkette vorhanden sind verlasse die for Schleife und return
Wahr (E-mail addresse gültig)
return true;
}
return false; // falls NICHT beide Zeichen vorhanden sind, return False (E-mail NICHT gültig
}
bei Fragen unklarheiten, immer her damit...
hoffe konnte helfen
mfg
|
|
|
07.10.12, 23:31
|
#7
|
Banned
Registriert seit: Aug 2012
Beiträge: 223
Bedankt: 68
|
Alle genannten Lösungen lassen auch ungültige Emailadressen zu!
Benutze einen regulären Ausdruck.
Und lies mal bitte die Forenregeln...der Titel deines Threads ist schmarrn...
|
|
|
08.10.12, 00:16
|
#8
|
Mitglied
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
|
a) regex in c# [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
b) check auf gültige email [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
__________________
entropie erfordert keine wartung
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:59 Uhr.
().
|