ID: 50158 Updated by: j...@php.net Reported By: andrew dot nicols at luns dot net dot uk Status: Verified Bug Type: Filter related Operating System: * PHP Version: 5.*, 6 New Comment:
Quick check to the regexp used shows these are missing from allowed part in it: = ? Previous Comments: ------------------------------------------------------------------------ [2009-11-12 17:07:56] j...@php.net Yes, = is valid. And also any of these too: ! $ & * - = ^ ` | ~ # % ' + / ? _ { } ------------------------------------------------------------------------ [2009-11-12 14:57:16] andrew dot nicols at luns dot net dot uk Copy/paste bug on my behalf. The expected result is: string(21) "test=m...@example.com" string(21) "test-m...@example.com" string(21) "test+m...@example.com" ------------------------------------------------------------------------ [2009-11-12 14:56:05] andrew dot nicols at luns dot net dot uk Description: ------------ The filter_var function, when used with FILTER_VALIDATE_EMAIL marks an email address with an = in it as invalid. According to RFCs 822, 2822 and 5322, = is a valid component to the local-part of an e-mail address. Reproduce code: --------------- <?php $email_address = "test=m...@example.com"; var_dump(filter_var($email_address, FILTER_VALIDATE_EMAIL)); $email_address = "test-m...@example.com"; var_dump(filter_var($email_address, FILTER_VALIDATE_EMAIL)); $email_address = "test+m...@example.com"; var_dump(filter_var($email_address, FILTER_VALIDATE_EMAIL)); ?> Expected result: ---------------- string(21) "test-m...@example.com" string(21) "test-m...@example.com" string(21) "test+m...@example.com" Actual result: -------------- bool(false) string(21) "test+m...@example.com" string(21) "test+m...@example.com" ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=50158&edit=1