Przejdziemy od razu do krótkiej odpowiedzi i zajmiemy się długim wyjaśnieniem po.

Po prostu - nie.

Słyszę deweloperów i zwolenników diabłów tam kwestionując nasze bezceremonialne zaprzeczenie regex walidacji e-maili, skłaniając dalsze pytanie, a następnie, dlaczego istnieje w ogóle.

Cóż, nie zamierzamy zaprzeczać, że może to być przydatne narzędzie, a na pewno jest to sprytny mały zestaw, który zapobiega dodawaniu przez użytkowników dowolnego starego tekstu do formularza lub innego nośnika wykonywalnego. W pewnym momencie, email regex miał swoją część do odegrania w tym, jak zbieramy dane e-mail.

Ale teraz? Zgodnie z obecną technologią i standardami?

My mówimy, że to już przeszłość.

Jeśli chcesz mieć pewność, że otrzymujesz czyste adresy e-mail, które nie będą przeszkadzać w Twoim email marketingu, współczynniku odrzuceń, dostarczalności i wszystkich tych rzeczach, które wiesz, że musisz utrzymać wysokie wskaźniki i konwersje, to regex nie jest właściwą drogą.

Czym jest regex walidacji emaila?

Regex to skrót od wyrażenia regularnego; jest to termin używany w różnych językach kodowania. Regex, lub wyrażenia regularne, odnoszą się do zakodowanych ciągów tekstowych zaprojektowanych do dopasowywania wzorców znalezionych w innych ciągach.

Mogą one być całkiem przydatne, gdy użytkownik musi dopasować ciąg znaków do określonego typu wzorca, aby sprawdzić, czy dostarczone informacje są poprawne. Weźmy pod uwagę numery telefonów, kody ZIP, daty, i tak, najważniejsze z nich - adresy e-mail.

Z prostym wzorcem, dokładny ciąg znaków może być dopasowany do zestawu reguł. Gdy proste wzorce stają się bardziej skomplikowane, regex staje się mniej wydajny i bardziej prawdopodobne jest, że dostarczy złe wyniki.

Jak na razie brzmi to dobrze - więc jaki jest problem z walidacją emaili za pomocą regex?

Tak fajne narzędzie jak regex jest, nie obejmuje kontroli, których potrzebujesz. Spójrz na te:

[email protected]
[email protected]
[email protected]
[email protected]

Powiedzmy, że zauważysz któryś z powyższych przypadków jako dodatki do Twojej listy mailingowej; od razu byś je oflagował (albo powinieneś!). Nie uwierzyłbyś, że którykolwiek z nich to ważny wpis dokonany przez prawdziwych ludzi, którzy wykazują zainteresowanie Twoim produktem lub usługą.

Regex email validation would, though. Przepuściłaby je wszystkie.

Dlaczego? Ponieważ te ewidentnie fałszywe adresy nadal są zgodne z wzorcami, które jego zasady mają potwierdzać.

Teraz nie wygląda to już tak mądrze, prawda?

Jest zbyt restrykcyjna

Pomimo tego, że poprzednie przykłady wyglądały dla nas na tak oczywiste i fałszywe, niektóre formaty wiadomości e-mail zawierają znacznie więcej znaków specjalnych niż jesteśmy przyzwyczajeni widzieć.

W swojej najprostszej formie adres e-mail ma następujący format:

nazwa_użytkownika@domena

Adresy e-mail są zbudowane z trzech części:

  • Część lokalna - zazwyczaj nazwa użytkownika lub rola zawodowa
  • Znak @
  • Domena, w tym ważna TLD (Top Level Domain)

Gdyby to było wszystko, czego kod musiałby szukać, to typowe javascriptowe sprawdzenie regex zapobiegłoby wielu złym kontaktom z naszych list.

Zazwyczaj nasze adresy e-mail mogą zawierać następujące znaki:

  • Cyfry: 0 do 9
  • Małe i wielkie litery: od a do z oraz od A do Z
  • Dodatkowe znaki specjalne: !#$%&'*+-/=?^_`{|}~
  • Znak kropki [.]: Ale nie jako pierwszy lub ostatni znak, ani nie używany kolejno

Jeśli ktoś zgłosiłby się do Twojej listy mailowej z którymś lub wieloma z tych znaków specjalnych, większość z nas zadałaby sobie pytanie, czy coś jest nie tak, i nie mielibyśmy racji - wszystkie są dozwolone zgodnie z obowiązującą konwencją.

Regex nie sprawdza niczego poza składnią

Programiści mogą się martwić jedynie o uzyskanie poprawnie wyglądających adresów poprzez formularz, ale my nie. Musimy wiedzieć:

  • Czy domena istnieje?
  • Czy istnieje rekord MX, aby udowodnić, że domena ma serwer pocztowy?
  • Czy adres e-mail ma działające konto e-mail?

Każde z tych pytań, które otrzyma odpowiedź "nie", otrzyma również twarde "nie" od nas jako marketerów. Regex nie sprawdza żadnej z tych rzeczy - tylko dedykowane narzędzie do walidacji emaili wyłapie takie czerwone flagi.

Nie dostrzega adresów tymczasowych i jednorazowych.

Jako email marketerzy, jesteśmy świadomi, że wielu użytkowników zakłada fałszywe konta tymczasowe, aby skorzystać z oferty, promocji lub innej sytuacji. Jest to prosty sposób na uniknięcie bałaganu na ich istniejących kontach emailowych lub zdradzania jakichkolwiek informacji o sobie, których nie chcą.

Łatwo jest założyć tymczasowy lub jednorazowy adres e-mail jako jednorazowe rozwiązanie. Adresy te często znikają w ciągu 10 lub 15 minut od założenia, co sprawia, że są niezwykle przydatne.
Regex nie będzie ich sprawdzał. Tymczasowe i jednorazowe adresy e-mail przechodzą wszystkie testy sprawdzające poprawność Regex.

Jak skonfigurować e-mail regex javascript?

Jeśli jesteś początkującym programistą, prawdopodobnie nie będziesz potrzebował naszego podstawowego zrozumienia tematu, aby powiedzieć Ci jak, ale dla tych z Was, którzy mają jakieś doświadczenie w kodowaniu, powinno to wyglądać mniej więcej tak:

function ValidateEmail(inputText)

{

var mailformat = [a-z0-9!#$%&’*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&’*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?

if(inputText.value.match(mailformat))

{

alert("To nie jest prawidłowy adres e-mail");

return false;

}

}

Część, która wykonuje wszystkie ciężkie prace, to var mailformat linia. Wykonanie i znaki w tej długiej linii kodu określają, co jest dozwolone, a co nie.

Potrafisz dostrzec proste rzeczy: a-z, A-Z, 0-9, a następnie znaki specjalne w pierwszej, lokalnej sekcji. Strona +@ następnie dyktuje separator lokalny i domenowy. Po @ mamy kolejny szereg instrukcji dotyczących tego, co jest dopuszczalne w sekcji domeny.

Jeśli chcesz uzyskać znacznie głębszy wgląd w to, co jest potrzebne do implementacji walidatora regex, odwiedź stronę abstract. Mają oni naprawdę dobry przewodnik po tym, co dokładnie trzeba zrobić i są ekspertami jeśli chodzi o wszelkiego rodzaju dodatki do API.

Jeśli praca jest warta wykonania, warto ją wykonać dobrze, więc zatwierdzaj swoje listy w najlepszy możliwy sposób.

Jest tylko jeden sposób, aby upewnić się, że Twoje listy emailowe są w najlepszej kondycji, a mianowicie użycie dedykowanego narzędzia do walidacji emaili, np. Bouncer.

Walidacja Regex może być odpowiedzialna za wpuszczanie fałszywych adresów email na Twoje listy emailowe, jak również blokowanie tych prawidłowych. Jeśli chodzi o dodanie metody uwierzytelniania do Twoich formularzy online lub metod zbierania danych, sugerujemy inne, bardziej solidne formy walidacji.

Ostatecznie, prowadzenie list mailingowych przez platformę taką jak Bouncer jest zdecydowanie najlepszym sposobem na utrzymanie list w czystości i zdrowiu, obniżenie współczynnika odrzuceń, wysoką dostarczalność i wynik nadawcy w najlepszej formie.

Email Message Regex FAQ

Co to jest proste wyrażenie regularne do sprawdzania poprawności wiadomości e-mail?

Proste wyrażenie regularne (regex) do sprawdzania poprawności wiadomości e-mail to ciąg znaków, który definiuje wzorzec wyszukiwania adresów e-mail. Można go użyć do sprawdzenia, czy ciąg znaków pasuje do standardowego formatu adresu e-mail. Należy jednak pamiętać, że proste wyrażenie regularne może nie wychwycić wszystkich nieprawidłowych adresów e-mail i może przepuścić niektóre niestandardowe formaty wiadomości e-mail.

W jaki sposób wyrażenie regularne e-mail pomaga w filtrowaniu nieprawidłowych adresów e-mail?

Email regex służy do dopasowywania ciągu wejściowego (adresu e-mail wprowadzonego przez użytkownika) do określonego formatu. Jeśli adres e-mail nie pasuje do tego formatu, jest uznawany za nieprawidłowy. Może to pomóc w zapobieganiu literówkom, zapewnieniu spójności danych i ochronie przed niektórymi rodzajami ataków typu injection.

Czym jest biały znak w kontekście wyrażenia regularnego w wiadomościach e-mail?

Biały znak w wyrażeniu regularnym email odnosi się do dowolnego znaku, który jest używany do reprezentowania pustych miejsc, takich jak spacje, tabulatory lub podziały wierszy. W kontekście adresów e-mail znaki spacji są zazwyczaj niedozwolone, a ich obecność spowodowałaby, że adres e-mail byłby nieprawidłowy.

Co to jest złożone wyrażenie regularne email?

Złożone wyrażenie regularne dla wiadomości e-mail to bardziej szczegółowe i precyzyjne wyrażenie regularne używane do sprawdzania poprawności wiadomości e-mail. Może uwzględniać różne aspekty adresów e-mail, takie jak nazwy domen, znaki spoza alfabetu łacińskiego i określone zasady dotyczące tego, gdzie mogą pojawiać się określone znaki. Chociaż zapewnia dokładniejszą walidację, może być również trudniejsza do wdrożenia i utrzymania.

Jak wyrażenia regularne w wiadomościach e-mail obsługują znaki spoza alfabetu łacińskiego i Unicode?

Obsługa znaków spoza alfabetu łacińskiego i Unicode w wyrażeniach regularnych wiadomości e-mail może być złożona. Niektóre systemy e-mail pozwalają na Unicode lub niełacińskie adresy e-mail, ale nie są one powszechnie obsługiwane. Złożone wyrażenie regularne dla wiadomości e-mail może zawierać klasy znaków w celu dopasowania znaków niełacińskich, ale ważne jest, aby zrozumieć specyficzne wymagania i ograniczenia systemu poczty e-mail, z którym pracujesz.

Jaka jest rola klas znaków w email regex?

Klasy znaków w email regex definiują zestaw znaków, które mogą pasować do dowolnego pojedynczego znaku w ciągu wejściowym. Na przykład, klasa znaków [a-z] pasuje do każdej małej litery angielskiej. Klasy znaków mogą być używane do określania prawidłowych znaków dla różnych części adresu e-mail.

Jakie są ograniczenia email regex dla walidacji email?

Chociaż wyrażenie regularne może wychwycić wiele typowych błędów w adresach e-mail, nie jest to kompletna metoda walidacji. Niektóre nieprawidłowe adresy mogą nadal przejść kontrolę regex, a niektóre prawidłowe adresy mogą zawieść, zwłaszcza jeśli używają mniej popularnych formatów lub znaków. W celu dokładnej walidacji adresów e-mail często zaleca się korzystanie z usług walidacji adresów e-mail lub wysyłanie wiadomości e-mail z potwierdzeniem na wprowadzony adres.

Przejdź na dogłębną weryfikację e-mail, przejdź na Bouncer