generator->parse($format)); } /** * NPA-format area code * * @see https://en.wikipedia.org/wiki/North_American_Numbering_Plan#Numbering_system * * @return string */ public static function areaCode() { $digits[] = self::numberBetween(2, 9); $digits[] = self::randomDigit(); $digits[] = self::randomDigitNot($digits[1]); return join('', $digits); } /** * NXX-format central office exchange code * * @see https://en.wikipedia.org/wiki/North_American_Numbering_Plan#Numbering_system * * @return string */ public static function exchangeCode() { $digits[] = self::numberBetween(2, 9); $digits[] = self::randomDigit(); if ($digits[1] === 1) { $digits[] = self::randomDigitNot(1); } else { $digits[] = self::randomDigit(); } return join('', $digits); } }