Avatar billede lemmings Nybegynder
16. december 2002 - 13:55 Der er 3 kommentarer og
1 løsning

Email validering

Jeg søger en valid expression for validering af en Email.

Den skal IKKE bruges i en RegularExpressionValidator men derimod i en CustomValidator, hvor jeg så kalder en funktion som foretager en Match af input.

Min midlertidige løsning er følgende funktion (i C#):

******* KODE **********
public void checkEmail(object sender, ServerValidateEventArgs e)
{
string myMail = email.Text;
Regex Expression = new Regex("\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");

Match m = Expression.Match(myMail);
if (m.Success)
{
e.IsValid = true;
return;
}
else
{
e.IsValid = false;
return;
}
}

******** KODE SLUT ********

Mit problem med dette er at min Regex går i fejl som den står der. "Unrecognized Escape Sequence".

Er der nogen som kan give mig en korrekt Regex til email validering til brug i denne situation???

/Lemmings
Avatar billede tangveje Nybegynder
16. december 2002 - 13:58 #1
Denne bruger jeg selv, godt nok har jeg ingen erfaring med C# eller ASP.NET, men du skulle da nok kunne bruge den alligevel

^([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*)+(\.[a-z]{2,3})$

Og denne bruger jeg så til .nu domains hvor der jo er support for æ,ø og å

^([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-æøå]+(\.[a-z0-9-æøå]+)*)+(\.[a-z]{2,3})$
Avatar billede ffse.dk Nybegynder
16. december 2002 - 14:21 #2
Brug evt. validators i din template. Noget ala:

  <asp:RequiredFieldValidator EnableClientScript="False" id="emailValidator" runat="server" ControlToValidate="email" Display="Dynamic">Angiv venligst en email-adresse</asp:RequiredFieldValidator>
  <asp:RegularExpressionValidator EnableClientScript="False" id="emailRegex" runat="server" ControlToValidate="email" ValidationExpression="^([A-Za-z0-9\._\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z]){2,3}$" Display="Dynamic">Angiv venligst en korrekt email-adresse</asp:RegularExpressionValidator></p>


I koden behøves så kun kode a la:

  if (emailValidator.IsValid && emailRegex.IsValid) {
    ...
  }
Avatar billede ffse.dk Nybegynder
16. december 2002 - 14:22 #3
PIS! Jeg læser skidt! Lort! Sorry. :-)
Avatar billede lemmings Nybegynder
07. januar 2003 - 15:12 #4
For at afslutte dette spørgsmål, og evt. hjælpe andre i samme situation, så har jeg selv fundet løsningen.

Det drejede sig om, at jeg men den anvendte expression fik syntaxfejl. Den oprindelige så således ud:

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

- men jeg skulle istedet skrive:

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

Så gik den lige igennem!

/lemmings
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester