Bug #53395 [Com]: FILTER_VALIDATE_EMAIL return false on valid emails
| From: | edanpr at gmail dot com | 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