mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-09-10 05:22:41 +00:00
Merge pull request #1409 from cdburgess/phone-validation-update
Phone validation update
This commit is contained in:
commit
789400ac44
2 changed files with 29 additions and 3 deletions
|
@ -2129,8 +2129,28 @@ class ValidationTest extends CakeTestCase {
|
|||
$this->assertFalse(Validation::phone('(055) 999-9999'));
|
||||
$this->assertFalse(Validation::phone('(155) 999-9999'));
|
||||
$this->assertFalse(Validation::phone('(595) 999-9999'));
|
||||
$this->assertFalse(Validation::phone('(555) 099-9999'));
|
||||
$this->assertFalse(Validation::phone('(555) 199-9999'));
|
||||
$this->assertFalse(Validation::phone('(213) 099-9999'));
|
||||
$this->assertFalse(Validation::phone('(213) 199-9999'));
|
||||
|
||||
// invalid area-codes
|
||||
$this->assertFalse(Validation::phone('1-(511)-999-9999'));
|
||||
$this->assertFalse(Validation::phone('1-(379)-999-9999'));
|
||||
$this->assertFalse(Validation::phone('1-(962)-999-9999'));
|
||||
$this->assertFalse(Validation::phone('1-(295)-999-9999'));
|
||||
$this->assertFalse(Validation::phone('1-(555)-999-9999'));
|
||||
|
||||
// invalid exhange
|
||||
$this->assertFalse(Validation::phone('1-(222)-511-9999'));
|
||||
|
||||
// invalid phone number
|
||||
$this->assertFalse(Validation::phone('1-(222)-555-0199'));
|
||||
$this->assertFalse(Validation::phone('1-(222)-555-0122'));
|
||||
|
||||
// valid phone numbers
|
||||
$this->assertTrue(Validation::phone('1-(369)-333-4444'));
|
||||
$this->assertTrue(Validation::phone('1-(973)-333-4444'));
|
||||
$this->assertTrue(Validation::phone('1-(313)-555-9999'));
|
||||
$this->assertTrue(Validation::phone('1-(222)-555-0299'));
|
||||
|
||||
$this->assertTrue(Validation::phone('1 (222) 333 4444'));
|
||||
$this->assertTrue(Validation::phone('+1 (222) 333 4444'));
|
||||
|
|
|
@ -620,7 +620,13 @@ class Validation {
|
|||
case 'all':
|
||||
// includes all NANPA members.
|
||||
// see http://en.wikipedia.org/wiki/North_American_Numbering_Plan#List_of_NANPA_countries_and_territories
|
||||
$regex = '/^(?:\+?1)?[-. ]?\\(?[2-9][0-8][0-9]\\)?[-. ]?[2-9][0-9]{2}[-. ]?[0-9]{4}$/';
|
||||
$regex = '/^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|3[02-689][0-9]|9[02-57-9][0-9]|[246-8][02-46-8][02-46-9])\s*\)';
|
||||
$regex .= '|(55[0-46-9]|5[0-46-9][5]|[0-46-9]55|[2-9]1[02-9]|[2-9][02-8]1|[2-46-9][02-46-8][02-46-9]))\s*(?:[.-]\s*)?)';
|
||||
$regex .= '(?!(555(?:\s*(?:[.|\-|\s]\s*))(01([0-9][0-9])|1212)))';
|
||||
$regex .= '(?!(555(01([0-9][0-9])|1212)))';
|
||||
$regex .= '([2-9]1[02-9]|[2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)';
|
||||
$regex .= '?([0-9]{4})';
|
||||
$regex .= '(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$/';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue