mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-01-18 18:46:17 +00:00
git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@6638 3807eeeb-6ff5-0310-8944-8be069107fe0
This commit is contained in:
parent
de67e299a9
commit
d0d001d6dd
2 changed files with 67 additions and 8 deletions
|
@ -39,8 +39,8 @@
|
|||
define('VALID_NUMBER', '/^[-+]?\\b[0-9]*\\.?[0-9]+\\b$/');
|
||||
/**
|
||||
* A valid email address.
|
||||
*/
|
||||
define('VALID_EMAIL', '/\\A(?:^([a-z0-9][a-z0-9_\\-\\.\\+]*)@([a-z0-9][a-z0-9\\.\\-]{0,63}\\.(com|org|net|biz|info|name|net|pro|aero|coop|museum|[a-z]{2,4}))$)\\z/i');
|
||||
*/
|
||||
define('VALID_EMAIL', "/^[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[a-z]{2,4}|museum|travel)$/i");
|
||||
/**
|
||||
* A valid year (1000-2999).
|
||||
*/
|
||||
|
@ -461,7 +461,7 @@ class Validation extends Object {
|
|||
}
|
||||
|
||||
if (is_null($_this->regex)) {
|
||||
$_this->regex = '/\\A(?:^([a-z0-9][a-z0-9_\\-\\.\\+]*)@([a-z0-9][a-z0-9\\.\\-]{0,63}\\.(com|org|net|biz|info|name|net|pro|aero|coop|museum|[a-z]{2,4}))$)\\z/i';
|
||||
$_this->regex = "/^[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[a-z]{2,4}|museum|travel)$/i";
|
||||
}
|
||||
$return = $_this->_check();
|
||||
|
||||
|
|
|
@ -1157,15 +1157,74 @@ class ValidationTestCase extends UnitTestCase {
|
|||
$this->assertTrue(Validation::email('abc-efg@domain.com'));
|
||||
$this->assertTrue(Validation::email('abc_efg@domain.com'));
|
||||
$this->assertTrue(Validation::email('raw@test.ra.ru'));
|
||||
$this->assertFalse(Validation::email('abc@efg@domain.com'));
|
||||
$this->assertTrue(Validation::email('abc-efg@domain-hyphened.com'));
|
||||
$this->assertTrue(Validation::email("p.o'malley@domain.com"));
|
||||
$this->assertTrue(Validation::email('abc+efg@domain.com'));
|
||||
$this->assertTrue(Validation::email('abc&efg@domain.com'));
|
||||
$this->assertTrue(Validation::email('abc.efg@12345.com'));
|
||||
$this->assertTrue(Validation::email('abc.efg@12345.co.jp'));
|
||||
$this->assertTrue(Validation::email('abc@g.cn'));
|
||||
$this->assertTrue(Validation::email('abc@x.com'));
|
||||
|
||||
// all ICANN TLDs
|
||||
$this->assertTrue(Validation::email('abc@example.aero'));
|
||||
$this->assertTrue(Validation::email('abc@example.asia'));
|
||||
$this->assertTrue(Validation::email('abc@example.biz'));
|
||||
$this->assertTrue(Validation::email('abc@example.cat'));
|
||||
$this->assertTrue(Validation::email('abc@example.com'));
|
||||
$this->assertTrue(Validation::email('abc@example.coop'));
|
||||
$this->assertTrue(Validation::email('abc@example.edu'));
|
||||
$this->assertTrue(Validation::email('abc@example.gov'));
|
||||
$this->assertTrue(Validation::email('abc@example.info'));
|
||||
$this->assertTrue(Validation::email('abc@example.int'));
|
||||
$this->assertTrue(Validation::email('abc@example.jobs'));
|
||||
$this->assertTrue(Validation::email('abc@example.mil'));
|
||||
$this->assertTrue(Validation::email('abc@example.mobi'));
|
||||
$this->assertTrue(Validation::email('abc@example.museum'));
|
||||
$this->assertTrue(Validation::email('abc@example.name'));
|
||||
$this->assertTrue(Validation::email('abc@example.net'));
|
||||
$this->assertTrue(Validation::email('abc@example.org'));
|
||||
$this->assertTrue(Validation::email('abc@example.pro'));
|
||||
$this->assertTrue(Validation::email('abc@example.tel'));
|
||||
$this->assertTrue(Validation::email('abc@example.travel'));
|
||||
|
||||
// strange, but technically valid email addresses
|
||||
$this->assertTrue(Validation::email('S=postmaster/OU=rz/P=uni-frankfurt/A=d400/C=de@gateway.d400.de'));
|
||||
$this->assertTrue(Validation::email('customer/department=shipping@example.com'));
|
||||
$this->assertTrue(Validation::email('$A12345@example.com'));
|
||||
$this->assertTrue(Validation::email('!def!xyz%abc@example.com'));
|
||||
$this->assertTrue(Validation::email('_somename@example.com'));
|
||||
|
||||
// invalid addresses
|
||||
$this->assertFalse(Validation::email('abc@example'));
|
||||
$this->assertFalse(Validation::email('abc@example.c'));
|
||||
$this->assertFalse(Validation::email('abc@example.com.'));
|
||||
$this->assertFalse(Validation::email('abc.@example.com'));
|
||||
$this->assertFalse(Validation::email('abc@example..com'));
|
||||
$this->assertFalse(Validation::email('abc@example.com.a'));
|
||||
$this->assertFalse(Validation::email('abc@example.toolong'));
|
||||
$this->assertFalse(Validation::email('abc;@example.com'));
|
||||
$this->assertFalse(Validation::email('abc@example.com;'));
|
||||
$this->assertFalse(Validation::email('abc@efg@example.com'));
|
||||
$this->assertFalse(Validation::email('abc@@example.com'));
|
||||
$this->assertFalse(Validation::email('abc efg@example.com'));
|
||||
$this->assertFalse(Validation::email('abc,efg@example.com'));
|
||||
$this->assertFalse(Validation::email('abc@sub,example.com'));
|
||||
$this->assertFalse(Validation::email("abc@sub'example.com"));
|
||||
$this->assertFalse(Validation::email('abc@sub/example.com'));
|
||||
$this->assertFalse(Validation::email('abc@yahoo!.com'));
|
||||
$this->assertFalse(Validation::email("Nyrée.surname@example.com"));
|
||||
$this->assertFalse(Validation::email('abc@example_underscored.com'));
|
||||
$this->assertFalse(Validation::email('raw@test.ra.ru....com'));
|
||||
}
|
||||
/*
|
||||
|
||||
//Commented out because test is slow, but it does work
|
||||
function testEmailDeep() {
|
||||
$this->assertTrue(Validation::email('abc.efg@cakephp.org', true), 'Expected valid email');
|
||||
$this->assertFalse(Validation::email('abc.efg@caphpkeinvalid.com', true), 'Expected valid email');
|
||||
$this->assertTrue(Validation::email('abc.efg@cakephp.org', true));
|
||||
$this->assertFalse(Validation::email('abc.efg@caphpkeinvalid.com', true));
|
||||
$this->assertFalse(Validation::email('abc@example.abcd', true));
|
||||
}
|
||||
*/
|
||||
|
||||
function testEmailCustomRegex() {
|
||||
$this->assertTrue(Validation::email('abc.efg@cakephp.org', null, '/^[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i'));
|
||||
$this->assertFalse(Validation::email('abc.efg@com.caphpkeinvalid', null, '/^[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i'));
|
||||
|
|
Loading…
Add table
Reference in a new issue