Article View: pl.comp.lang.javascript
Article #52010Re: JS i regex
From: Cezary Tomczyk
Date: Wed, 13 Feb 2019 08:12
Date: Wed, 13 Feb 2019 08:12
42 lines
2448 bytes
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-mailReferences:
<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