Bug #53395 [Com]: FILTER_VALIDATE_EMAIL return false on valid emails

From: Date: Thu, 25 Nov 2010 03:39:31 +0000
Subject: Bug #53395 [Com]: FILTER_VALIDATE_EMAIL return false on valid emails
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-156432@lists.php.net to get a copy of this message
Edit report at http://bugs.php.net/bug.php?id=53395&edit=1 ID: 53395 Comment by: edanpr at gmail dot com Reported by: edanpr at gmail dot com Summary: FILTER_VALIDATE_EMAIL return false on valid emails Status: Bogus Type: Bug Package: Filter related Operating System: debian PHP Version: 5.3.3 Block user comment: N Private report: N New Comment: Ok, 2 dots is wrong, but double dash is still a valid domain which means users can have email there. a--b.com - real domain h--t.com - real domain Previous Comments: ------------------------------------------------------------------------ [2010-11-25 04:06:44] aharvey@php.net filter_var() is right in both cases here: domain names can only include consecutive hyphens when being used for internationalised domains (which implies that the name is of the form xn--XXX), and the local part of an e-mail address can't include consecutive dots, per the grammar in RFC 5322. ------------------------------------------------------------------------ [2010-11-24 12:58:10] edanpr at gmail dot com Description: ------------ In php 5.3.3 using filter_var to validate email (FILTER_VALIDATE_EMAIL) that got more than one period (.) or dash (-) results in error while in 5.3.2 it didn't. test@h--t.com will return false on 5.3.3 and true on 5.3.2 t..est@test.com will return false on 5.3.3 and true on 5.3.2 Test script: --------------- <? $adr1 = 't..est@test.com'; $adr2 = 'test@h--t.com'; var_dump(filter_var($adr1, FILTER_VALIDATE_EMAIL)); var_dump(filter_var($adr2, FILTER_VALIDATE_EMAIL)); Expected result: ---------------- string(15) "t..est@test.com" string(13) "test@h--t.com" Actual result: -------------- bool(false) bool(false) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=53395&edit=1

« previous php.bugs (#156432) next »