mirror of
https://github.com/phpbb/phpbb.git
synced 2025-04-20 07:42:09 +02:00
Merge branch 'ticket/ckwalsh/9715' into develop-olympus
* ticket/ckwalsh/9715: [ticket/9715] Better email regex [ticket/9715] Extend email unit tests
This commit is contained in:
commit
da256b33d9
@ -3355,7 +3355,9 @@ function get_preg_expression($mode)
|
||||
switch ($mode)
|
||||
{
|
||||
case 'email':
|
||||
return '(?:[a-z0-9\'\.\-_\+\|]++|&)+@[a-z0-9\-]+\.(?:[a-z0-9\-]+\.)*[a-z]+';
|
||||
// Regex written by James Watts and Francisco Jose Martin Moreno
|
||||
// http://fightingforalostcause.net/misc/2006/compare-email-regex.php
|
||||
return '([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*(?:[\w\!\#$\%\'\*\+\-\/\=\?\^\`{\|\}\~]|&)+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,6})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)';
|
||||
break;
|
||||
|
||||
case 'bbcode_htm':
|
||||
|
@ -33,6 +33,27 @@ class phpbb_regex_email_test extends phpbb_test_case
|
||||
//array('"John Doe"@example.com'),
|
||||
//array('Alice@[192.168.2.1]'), // IPv4
|
||||
//array('Bob@[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]'), // IPv6
|
||||
|
||||
// http://fightingforalostcause.net/misc/2006/compare-email-regex.php
|
||||
array('l3tt3rsAndNumb3rs@domain.com'),
|
||||
array('has-dash@domain.com'),
|
||||
array('hasApostrophe.o\'leary@domain.org'),
|
||||
array('uncommonTLD@domain.museum'),
|
||||
array('uncommonTLD@domain.travel'),
|
||||
array('uncommonTLD@domain.mobi'),
|
||||
array('countryCodeTLD@domain.uk'),
|
||||
array('countryCodeTLD@domain.rw'),
|
||||
array('numbersInDomain@911.com'),
|
||||
array('underscore_inLocal@domain.net'),
|
||||
array('IPInsteadOfDomain@127.0.0.1'),
|
||||
array('IPAndPort@127.0.0.1:25'),
|
||||
array('subdomain@sub.domain.com'),
|
||||
array('local@dash-inDomain.com'),
|
||||
array('dot.inLocal@foo.com'),
|
||||
array('a@singleLetterLocal.org'),
|
||||
array('singleLetterDomain@x.org'),
|
||||
array('&*=?^+{}\'~@validCharsInLocal.net'),
|
||||
array('foor@bar.newTLD'),
|
||||
);
|
||||
}
|
||||
|
||||
@ -56,6 +77,26 @@ class phpbb_regex_email_test extends phpbb_test_case
|
||||
array('abc,def@example.com'), // invalid character ,
|
||||
array('abc<def@example.com'), // invalid character <
|
||||
array('abc>def@example.com'), // invalid character >
|
||||
|
||||
// http://fightingforalostcause.net/misc/2006/compare-email-regex.php
|
||||
array('missingDomain@.com'),
|
||||
array('@missingLocal.org'),
|
||||
array('missingatSign.net'),
|
||||
array('missingDot@com'),
|
||||
array('two@@signs.com'),
|
||||
array('colonButNoPort@127.0.0.1:'),
|
||||
array(''),
|
||||
array('someone-else@127.0.0.1.26'),
|
||||
array('.localStartsWithDot@domain.com'),
|
||||
array('localEndsWithDot.@domain.com'),
|
||||
array('two..consecutiveDots@domain.com'),
|
||||
array('domainStartsWithDash@-domain.com'),
|
||||
array('domainEndsWithDash@domain-.com'),
|
||||
array('numbersInTLD@domain.c0m'),
|
||||
array('missingTLD@domain.'),
|
||||
array('! "#$%(),/;<>[]`|@invalidCharsInLocal.org'),
|
||||
array('invalidCharsInDomain@! "#$%(),/;<>_[]`|.org'),
|
||||
array('local@SecondLevelDomainNamesAreInvalidIfTheyAreLongerThan64Charactersss.org'),
|
||||
);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user