~ Email-adressen checken met Regular Expressions

Dit is een aanvulling op dit artikel. Daar wordt deze RegEx gebruikt: "(?[^@]+)@(?.+)" wat vreemd is omdat deze check ook "bar@foo" ziet als een geldig email-adres. Wat in mijn ogen niet het geval is.

Onderstaande code haalt e-mail adressen uit een met een puntcomma gescheiden lijst en controleert daarna of het geldige e-mail adressen zijn:



using System;
using System.Text.RegularExpressions;


///
/// Checkt Email adressen
///
class EmailChecker
{
[STAThread]
static void Main(string[] args)
{
string emailAdressen="jorensix@msn.com;bla@blaat.com;bla@blasdf;dfmlkqjf;test@pi.be";

Regex emailregex = new Regex(@"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");

string[] adressen=emailAdressen.Split(';');

Match m;

foreach(string adres in adressen)
{
m = emailregex.Match(adres);
if(!m.Success)
Console.WriteLine("{0} is ongeldig",adres);
else
Console.WriteLine("{0} is geldig",adres);
}
Console.ReadLine();
}
}


Dit is dan wat er uit komt:

jorensix@msn.com is geldig
bla@blaat.com is geldig
bla@blasdf is ongeldig
dfmlkqjf is ongeldig
test@pi.be is geldig

Reacties

EY IK WIL GERE NOG EEN E-mail adreske make watte moet ikke daar vr doen?wink ([;)])happy ([8)])unhappy ([8(])p ([8P])cool ([B)])beer ([B])
efgdafg3
Punten zijn ongeldig
http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html
Om te bewijzen dat jij geen script bent moet het allerlaatste karakter van je reactie '6' zijn.

wink ([;)]) alt= happy ([8)]) alt= unhappy ([8(]) alt= lol ([8D]) alt= p ([8P]) alt= cool ([B)]) alt= beer ([B]) alt=
 
© 2012 0110.be