Cake\Localized\Validation\UsValidation::phone PHP Метод

phone() публичный статический Метод

Checks a phone number for The United States
public static phone ( string $check ) : boolean
$check string The value to check.
Результат boolean Success.
    public static function phone($check)
    {
        $pattern = '/^(?:(?:\\+?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*\\)';
        $pattern .= '|(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*)?)';
        $pattern .= '(?!(555(?:\\s*(?:[.|\\-|\\s]\\s*))(01([0-9][0-9])|1212)))';
        $pattern .= '(?!(555(01([0-9][0-9])|1212)))';
        $pattern .= '([2-9]1[02-9]|[2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\\s*(?:[.-]\\s*)';
        $pattern .= '?([0-9]{4})';
        $pattern .= '(?:\\s*(?:#|x\\.?|ext\\.?|extension)\\s*(\\d+))?$/';
        return (bool) preg_match($pattern, $check);
    }

Usage Example

Пример #1
0
 /**
  * test the phone method of UsValidation
  *
  * @return void
  */
 public function testPhone()
 {
     $this->assertTrue(UsValidation::phone('+1 702 425 5085'));
     $this->assertFalse(UsValidation::phone('teststring'));
     $this->assertFalse(UsValidation::phone('1-(33)-(333)-(4444)'));
     $this->assertFalse(UsValidation::phone('1-(33)-3333-4444'));
     $this->assertFalse(UsValidation::phone('1-(33)-33-4444'));
     $this->assertFalse(UsValidation::phone('1-(33)-3-44444'));
     $this->assertFalse(UsValidation::phone('1-(33)-3-444'));
     $this->assertFalse(UsValidation::phone('1-(33)-3-44'));
     $this->assertFalse(UsValidation::phone('(055) 999-9999'));
     $this->assertFalse(UsValidation::phone('(155) 999-9999'));
     $this->assertFalse(UsValidation::phone('(595) 999-9999'));
     $this->assertFalse(UsValidation::phone('(213) 099-9999'));
     $this->assertFalse(UsValidation::phone('(213) 199-9999'));
     // invalid area-codes
     $this->assertFalse(UsValidation::phone('1-(511)-999-9999'));
     $this->assertFalse(UsValidation::phone('1-(379)-999-9999'));
     $this->assertFalse(UsValidation::phone('1-(962)-999-9999'));
     $this->assertFalse(UsValidation::phone('1-(295)-999-9999'));
     $this->assertFalse(UsValidation::phone('1-(555)-999-9999'));
     // invalid exhange
     $this->assertFalse(UsValidation::phone('1-(222)-511-9999'));
     // invalid phone number
     $this->assertFalse(UsValidation::phone('1-(222)-555-0199'));
     $this->assertFalse(UsValidation::phone('1-(222)-555-0122'));
     // valid phone numbers
     $this->assertTrue(UsValidation::phone('1-(369)-333-4444'));
     $this->assertTrue(UsValidation::phone('1-(973)-333-4444'));
     $this->assertTrue(UsValidation::phone('1-(313)-555-9999'));
     $this->assertTrue(UsValidation::phone('1-(222)-555-0299'));
     $this->assertTrue(UsValidation::phone('1 (222) 333 4444'));
     $this->assertTrue(UsValidation::phone('+1 (222) 333 4444'));
     $this->assertTrue(UsValidation::phone('(222) 333 4444'));
     $this->assertTrue(UsValidation::phone('1-(333)-333-4444'));
     $this->assertTrue(UsValidation::phone('1.(333)-333-4444'));
     $this->assertTrue(UsValidation::phone('1.(333).333-4444'));
     $this->assertTrue(UsValidation::phone('1.(333).333.4444'));
     $this->assertTrue(UsValidation::phone('1-333-333-4444'));
     $this->assertFalse(UsValidation::phone('7002 425 5085'));
 }