Logo Wand.Tools

Regular Expression Generator

Intelligently generate and explain regular expressions, supporting various common pattern matching

Regulært Udtryk Matching af E-mailadresser - Komplet Tutorial

  # Regulært Udtryk Matching af E-mailadresser - Komplet Tutorial
  
  ## Grundlæggende E-mail Matching
  
  Det simpleste regex til e-mail matching:
  ```regex
  \S+@\S+\.\S+

Matching eksempler:

Matching af Fælles E-mailformater

Standard e-mailformat regex:

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Funktioner:

  • Tillader store og små bogstaver, tal
  • Understøtter specialtegn som . _ % + -
  • Domænedel skal have mindst 2 tegn

Strenge E-mailvalidering

RFC 5322 standard regex:

^(?:[a-z0-9!#$%&'*+/=?^_\{|\}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_\{|\}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$

Understøttelse af Internationale E-mails

Regex, der understøtter Unicode-tegn:

^[^\s@]+@[^\s@]+\.[^\s@]+$

Eller en mere præcis version:

^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$

Opdeling af Regulært Udtryk

Tag standard e-mail regex som eksempel:

^                         # Start på strengen
[a-zA-Z0-9._%+-]+        # Brugernavnsdel
@                         # @ symbol
[a-zA-Z0-9.-]+           # Domænedel
\.                        # Punktum
[a-zA-Z]{2,}             # Top-Level Domæne
$                         # Slut på strengen

Eksempler på Implementering på Forskellige Sprog

JavaScript

const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;

Python

import re
email_regex = re.compile(r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$')

PHP

$emailRegex = '/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/';

Java

Pattern emailPattern = Pattern.compile("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$");

Ofte Stillede Spørgsmål

1. Hvordan matcher man e-mailadresser med IP-adresser?

^[a-z0-9._%+-]+@([0-9]{1,3}\.){3}[0-9]{1,3}$

2. Hvordan matcher man e-mailadresser med portnumre?

^[a-z0-9._%+-]+@[a-z0-9.-]+:\d+$

3. Hvordan udelukker man e-mailadresser fra specifikke domæner?

^(?!.*@(spamdomain|blocked)\.com$)[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$

Ydeevneoptimering

  1. Brug ikke-fangende grupper (?:) i stedet for fangende grupper ().
  2. Undgå alt for komplekse indlejrede strukturer.
  3. Udfør først grundlæggende validering på web-frontend.
  4. Forhåndsopstil regulære udtryk til hyppige brugsscenarier.
^(?=[a-z0-9@.!#$%&'*+/=?^_\{|\}~-]{6,254}$)[a-z0-9._%+-]{1,64}@(?:[a-z0-9-]{1,63}\.){1,8}[a-z]{2,63}$