🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.javascript
Article #52010

Re: JS i regex

#52010
From: Cezary Tomczyk
Date: Wed, 13 Feb 2019 08:12
42 lines
2448 bytes
On 12/02/2019 16:59, Borys Pogoreło wrote:
> Dnia Tue, 12 Feb 2019 16:06:02 +0100, Wojciech Bancer napisał(a):
> 
>>> Zamarzyło mi się sprawdzać poprawność e-maila, napisałem prosty kod:
>>
>> A potem jak w orange.
>> Najpierw zarejestrowałem sobie maila z końcówką .codes, a potem dodali spradzacza
>> i już nie mogę na takiego maila się logować.
> 
> To jeszcze pół biedy, bo dłuższe TLD typu .museum istnieją już wiele lat i
> do większości to chyba dotarło. Spróbuj jednak korzytać ze znaku + w części
> przed "małpą" (ficzer z Gmaila). Chyba praktycznie każdy popularny regexp
> bardziej skomplikowany niż .+@.+\..+ ma z tym problem.
> 
> Autorze - nie wymyślaj koła na nowo, weź gotową bibliotekę, która sprawdza
> poprawność maila zgodnie z RFC. To wcale nie jest trywialne.

Kiedyś korzystałem z różnych rozwiązań by sprawdzić poprawność email 
zgodny z RFC, ale poddałem się, bo co chwila znajdowałem jakiś 
przypadek, który nie przechodził walidacji, a powinien :-)

Skończyło się to na:

[TypeScript]

   public static isValidEmail(email: string): boolean {
     const parts = email.split('@');

     if (parts.length !== 2) {
       return false;
     }

     if (parts[0].length === 0 || parts[1].length === 0) {
       return false;
     }

     return true;
   }

-- 
Cezary Tomczyk
http://www.ctomczyk.pl/
Technical Details
Message-ID: <q40jh9$av7$1@csiph.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!csiph.com!.POSTED.208-71-239-109.cust.centrio.cz!not-for-mail
References: <11r27xouiiy2h.dlg@tyczka.com> <slrnq65o6q.pqi.wojciech.bancer@pl-test.org> <1299uga18h0jx$.11l9cirdbu4na$.dlg@40tude.net>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!csiph.com!.POSTED.208-71-239-109.cust.centrio.cz!not-for-mail
From: Cezary Tomczyk <cezary.tomczyk@gmail.com>
Newsgroups: pl.comp.lang.javascript
Subject: Re: JS i regex
Date: Wed, 13 Feb 2019 09:12:24 +0100
Organization: csiph.com Internet News Service
Message-ID: <q40jh9$av7$1@csiph.com>
References: <11r27xouiiy2h.dlg@tyczka.com> <slrnq65o6q.pqi.wojciech.bancer@pl-test.org> <1299uga18h0jx$.11l9cirdbu4na$.dlg@40tude.net>
Mime-Version: 1.0
Injection-Date: Wed, 13 Feb 2019 08:12:25 -0000 (UTC)
Injection-Info: csiph.com; posting-host="208-71-239-109.cust.centrio.cz:109.239.71.208"; logging-data="11239"; mail-complaints-to="admin@kev009.com"
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.5.0
In-Reply-To: <1299uga18h0jx$.11l9cirdbu4na$.dlg@40tude.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit