Regex pattern to validate email addresses

Our most recent pattern is

EMAIL = /\A[a-z0-9\+\-_\.]+@[a-z\d\-.]+\.[a-z]+\z/i

Notes

  • Don't replace [a-z0-9\+\-_\.] with \w ! Otherwise the pattern would allow ßs and many other invalid characters.
  • The email address standard Show archive.org snapshot allows more patterns of emails than those which work in practice (e.g. a@a is valid). In result our pattern is more strictly.
  • Caution: john..doe@example.com and john.doe@example..com are accepted as well.
Martin Straub