Skip to content

Instantly share code, notes, and snippets.

@danielbentes
Created November 1, 2011 13:16
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danielbentes/1330472 to your computer and use it in GitHub Desktop.
Save danielbentes/1330472 to your computer and use it in GitHub Desktop.
Validate phone
/**
* Check if a phone number is valid
*
* A valid phone number can only contain numbers and these characters: +-()
*
* @param string $number Phone Number
* @param string $prefix Calling prefix (optional)
* @return boolean TRUE if Valid, FALSE if Invalid
*/
public static function isValidPhoneNumber($number, $prefix = false) {
if (!empty($prefix)) {
$number = "{$prefix}{$number}";
}
$rules = array('AF' => array('start_number' => '9', 'regexp_country' => '0{0,3}93[0-9]*', 'regexp_mobile' => ''), 'AL' => array('start_number' => '3', 'regexp_country' => '0{0,3}355[0-9]*', 'regexp_mobile' => '(0{0,3}35568[0-9]*|0{0,3}35569[0-9]*)'), 'DZ' => array('start_number' => '2', 'regexp_country' => '0{0,3}213[0-9]*', 'regexp_mobile' => '0{0,3}21361[0-9]*'), 'AS' => array('start_number' => '1', 'regexp_country' => '0{0,3}1684[0-9]*', 'regexp_mobile' => ''), 'AD' => array('start_number' => '3', 'regexp_country' => '0{0,3}376[0-9]*', 'regexp_mobile' => '0{0,3}3763[0-9]*'), 'AO' => array('start_number' => '2', 'regexp_country' => '0{0,3}244[0-9]*', 'regexp_mobile' => '0{0,3}2449[0-9]*'), 'AI' => array('start_number' => '1', 'regexp_country' => '0{0,3}1264[0-9]*', 'regexp_mobile' => ''), 'AQ' => array('start_number' => '6', 'regexp_country' => '0{0,3}6721[0-9]*', 'regexp_mobile' => ''), 'AG' => array('start_number' => '1', 'regexp_country' => '0{0,3}1268[0-9]*', 'regexp_mobile' => ''), 'AR' => array('start_number' => '5', 'regexp_country' => '0{0,3}54[0-9]*', 'regexp_mobile' => '0{0,3}5415[0-9]*'), 'AM' => array('start_number' => '3', 'regexp_country' => '0{0,3}374[0-9]*', 'regexp_mobile' => '0{0,3}3749[0-9]*'), 'AW' => array('start_number' => '2', 'regexp_country' => '0{0,3}297[0-9]*', 'regexp_mobile' => '(0{0,3}29773[0-9]*|0{0,3}29774[0-9]*)'), 'AC' => array('start_number' => '2', 'regexp_country' => '0{0,3}247[0-9]*', 'regexp_mobile' => ''), 'AU' => array('start_number' => '6', 'regexp_country' => '0{0,3}61[0-9]*', 'regexp_mobile' => '0{0,3}614[0-9]*'), 'AT' => array('start_number' => '4', 'regexp_country' => '0{0,3}43[0-9]*', 'regexp_mobile' => '(0{0,3}43664[0-9]*|0{0,3}43660[0-9]*|0{0,3}43676[0-9]*|0{0,3}43699[0-9]*|0{0,3}43650[0-9]*|0{0,3}43680[0-9]*|0{0,3}43681[0-9]*|0{0,3}43688[0-9]*)'), 'AZ' => array('start_number' => '9', 'regexp_country' => '0{0,3}994[0-9]*', 'regexp_mobile' => ''), 'BS' => array('start_number' => '1', 'regexp_country' => '0{0,3}1242[0-9]*', 'regexp_mobile' => '(0{0,3}124235[0-9]*|0{0,3}124245[0-9]*|0{0,3}124255[0-9]*)'), 'BH' => array('start_number' => '9', 'regexp_country' => '0{0,3}973[0-9]*', 'regexp_mobile' => '0{0,3}9733[0-9]*'), 'BD' => array('start_number' => '8', 'regexp_country' => '0{0,3}880[0-9]*', 'regexp_mobile' => ''), 'BB' => array('start_number' => '1', 'regexp_country' => '0{0,3}1246[0-9]*', 'regexp_mobile' => ''), 'BY' => array('start_number' => '3', 'regexp_country' => '0{0,3}375[0-9]*', 'regexp_mobile' => ''), 'BE' => array('start_number' => '3', 'regexp_country' => '0{0,3}32[0-9]*', 'regexp_mobile' => '0{0,3}324[0-9]{8}'), 'BZ' => array('start_number' => '5', 'regexp_country' => '0{0,3}501[0-9]*', 'regexp_mobile' => ''), 'BJ' => array('start_number' => '2', 'regexp_country' => '0{0,3}229[0-9]*', 'regexp_mobile' => ''), 'BM' => array('start_number' => '1', 'regexp_country' => '0{0,3}1441[0-9]*', 'regexp_mobile' => ''), 'BT' => array('start_number' => '9', 'regexp_country' => '0{0,3}975[0-9]*', 'regexp_mobile' => ''), 'BO' => array('start_number' => '5', 'regexp_country' => '0{0,3}591[0-9]*', 'regexp_mobile' => ''), 'BA' => array('start_number' => '3', 'regexp_country' => '0{0,3}387[0-9]*', 'regexp_mobile' => ''), 'BW' => array('start_number' => '2', 'regexp_country' => '0{0,3}267[0-9]*', 'regexp_mobile' => '0{0,3}2677[0-9]*'), 'BR' => array('start_number' => '5', 'regexp_country' => '0{0,3}55[0-9]*', 'regexp_mobile' => '(0{0,3}557[0-9]*|0{0,3}558[0-9]*|0{0,3}559[0-9]*)'), 'BN' => array('start_number' => '6', 'regexp_country' => '0{0,3}673[0-9]*', 'regexp_mobile' => ''), 'BG' => array('start_number' => '3', 'regexp_country' => '0{0,3}359[0-9]*', 'regexp_mobile' => '(0{0,3}35998[0-9]*|0{0,3}35999[0-9]*|0{0,3}35948[0-9]*|0{0,3}35988[0-9]*|0035987[0-9]*|0{0,3}35989[0-9]*)'), 'BF' => array('start_number' => '2', 'regexp_country' => '0{0,3}226[0-9]*', 'regexp_mobile' => ''), 'BI' => array('start_number' => '2', 'regexp_country' => '0{0,3}257[0-9]*', 'regexp_mobile' => '(0{0,3}25729[0-9]*|0{0,3}2577[0-9]*)'), 'KH' => array('start_number' => '8', 'regexp_country' => '0{0,3}855[0-9]*', 'regexp_mobile' => ''), 'CM' => array('start_number' => '2', 'regexp_country' => '0{0,3}237[0-9]*', 'regexp_mobile' => '(0{0,3}2376[0-9]*|0{0,3}2377[0-9]*|0{0,3}2378[0-9]*|0{0,3}2379[0-9]*)'), 'CA' => array('start_number' => '1', 'regexp_country' => '0{0,3}1[0-9]*', 'regexp_mobile' => ''), 'CV' => array('start_number' => '2', 'regexp_country' => '0{0,3}238[0-9]*', 'regexp_mobile' => ''), 'KY' => array('start_number' => '1', 'regexp_country' => '0{0,3}1345[0-9]*', 'regexp_mobile' => ''), 'CF' => array('start_number' => '2', 'regexp_country' => '0{0,3}236[0-9]*', 'regexp_mobile' => ''), 'TD' => array('start_number' => '2', 'regexp_country' => '0{0,3}235[0-9]*', 'regexp_mobile' => ''), 'CL' => array('start_number' => '5', 'regexp_country' => '0{0,3}56[0-9]*', 'regexp_mobile' => '(0{0,3}568[0-9]*|0{0,3}569[0-9]*)'), 'CN' => array('start_number' => '8', 'regexp_country' => '0{0,3}86[0-9]*', 'regexp_mobile' => ''), 'CX' => array('start_number' => '6', 'regexp_country' => '0{0,3}618[0-9]*', 'regexp_mobile' => ''), 'CC' => array('start_number' => '6', 'regexp_country' => '0{0,3}618[0-9]*', 'regexp_mobile' => ''), 'CO' => array('start_number' => '5', 'regexp_country' => '0{0,3}57[0-9]*', 'regexp_mobile' => '0{0,3}573[0-9]*'), 'KM' => array('start_number' => '2', 'regexp_country' => '0{0,3}269[0-9]*', 'regexp_mobile' => ''), 'CG' => array('start_number' => '2', 'regexp_country' => '(0{0,3}243[0-9]*|0{0,3}242[0-9]*)', 'regexp_mobile' => ''), 'CK' => array('start_number' => '6', 'regexp_country' => '0{0,3}682[0-9]*', 'regexp_mobile' => ''), 'CR' => array('start_number' => '5', 'regexp_country' => '0{0,3}506[0-9]*', 'regexp_mobile' => ''), 'CI' => array('start_number' => '2', 'regexp_country' => '0{0,3}225[0-9]*', 'regexp_mobile' => ''), 'HR' => array('start_number' => '3', 'regexp_country' => '0{0,3}385[0-9]*', 'regexp_mobile' => '0{0,3}3859[0-9]*'), 'CU' => array('start_number' => '5', 'regexp_country' => '0{0,3}53[0-9]*', 'regexp_mobile' => ''), 'CY' => array('start_number' => '3', 'regexp_country' => '0{0,3}357[0-9]*', 'regexp_mobile' => '(0{0,3}35799[0-9]*|*35796[0-9]*|0{0,3}35797[0-9]*)'), 'CZ' => array('start_number' => '4', 'regexp_country' => '0{0,3}420[0-9]*', 'regexp_mobile' => '(0{0,3}4206[0-9]*|0{0,3}4207[0-9]*)'), 'DK' => array('start_number' => '4', 'regexp_country' => '0{0,3}45[0-9]*', 'regexp_mobile' => '(0{0,3}4530[0-9]*|0{0,3}4540[0-9]*)'), 'DG' => array('start_number' => '2', 'regexp_country' => '0{0,3}246[0-9]*', 'regexp_mobile' => ''), 'DJ' => array('start_number' => '2', 'regexp_country' => '0{0,3}253[0-9]*', 'regexp_mobile' => ''), 'DM' => array('start_number' => '1', 'regexp_country' => '0{0,3}1767[0-9]*', 'regexp_mobile' => ''), 'DO' => array('start_number' => '1', 'regexp_country' => '(0{0,3}1809|0{0,3}1829[0-9]*)', 'regexp_mobile' => ''), 'TL' => array('start_number' => '6', 'regexp_country' => '0{0,3}670[0-9]*', 'regexp_mobile' => ''), 'EC' => array('start_number' => '5', 'regexp_country' => '0{0,3}593[0-9]*', 'regexp_mobile' => '(0{0,3}5939[0-9]*|0{0,3}5938[0-9]*)'), 'EG' => array('start_number' => '2', 'regexp_country' => '0{0,3}20[0-9]*', 'regexp_mobile' => ''), 'SV' => array('start_number' => '5', 'regexp_country' => '0{0,3}503[0-9]*', 'regexp_mobile' => ''), 'GQ' => array('start_number' => '2', 'regexp_country' => '0{0,3}240[0-9]*', 'regexp_mobile' => ''), 'ER' => array('start_number' => '2', 'regexp_country' => '0{0,3}291[0-9]*', 'regexp_mobile' => ''), 'EE' => array('start_number' => '3', 'regexp_country' => '0{0,3}372[0-9]*', 'regexp_mobile' => '0{0,3}3725[0-9]*'), 'ET' => array('start_number' => '2', 'regexp_country' => '0{0,3}251[0-9]*', 'regexp_mobile' => ''), 'FO' => array('start_number' => '5', 'regexp_country' => '0{0,3}500[0-9]*', 'regexp_mobile' => ''), 'FK' => array('start_number' => '2', 'regexp_country' => '0{0,3}298[0-9]*', 'regexp_mobile' => ''), 'FJ' => array('start_number' => '6', 'regexp_country' => '0{0,3}679[0-9]*', 'regexp_mobile' => ''), 'FI' => array('start_number' => '3', 'regexp_country' => '0{0,3}358[0-9]*', 'regexp_mobile' => '(0{0,3}3584[0-9]*|0{0,3}35850[0-9]*)'), 'FR' => array('start_number' => '3', 'regexp_country' => '0{0,3}33[0-9]*', 'regexp_mobile' => '(0{0,3}336[0-9]*|0{0,3}337[0-9]*)'), 'GF' => array('start_number' => '5', 'regexp_country' => '0{0,3}594[0-9]*', 'regexp_mobile' => '(0{0,3}594694[0-9]*|[0-9]*)'), 'PF' => array('start_number' => '6', 'regexp_country' => '0{0,3}689[0-9]*', 'regexp_mobile' => ''), 'GA' => array('start_number' => '2', 'regexp_country' => '0{0,3}241[0-9]*', 'regexp_mobile' => ''), 'GM' => array('start_number' => '2', 'regexp_country' => '0{0,3}220[0-9]*', 'regexp_mobile' => ''), 'GE' => array('start_number' => '9', 'regexp_country' => '0{0,3}995[0-9]*', 'regexp_mobile' => '(0{0,3}9957[0-9]*|0{0,3}9959[0-9]*)'), 'DE' => array('start_number' => '4', 'regexp_country' => '0{0,3}49[0-9]*', 'regexp_mobile' => '(0{0,3}491[0-9]*|0{0,3}49700[0-9]*)'), 'GH' => array('start_number' => '2', 'regexp_country' => '0{0,3}233[0-9]*', 'regexp_mobile' => ''), 'GI' => array('start_number' => '3', 'regexp_country' => '0{0,3}350[0-9]*', 'regexp_mobile' => ''), 'GR' => array('start_number' => '3', 'regexp_country' => '0{0,3}30[0-9]*', 'regexp_mobile' => '0{0,3}3069[0-9]*'), 'GL' => array('start_number' => '2', 'regexp_country' => '0{0,3}299[0-9]*', 'regexp_mobile' => ''), 'GD' => array('start_number' => '1', 'regexp_country' => '0{0,3}1473[0-9]*', 'regexp_mobile' => ''), 'GP' => array('start_number' => '5', 'regexp_country' => '0{0,3}590[0-9]*', 'regexp_mobile' => '0{0,3}5906[0-9]*'), 'GU' => array('start_number' => '1', 'regexp_country' => '0{0,3}1671[0-9]*', 'regexp_mobile' => ''), 'GT' => array('start_number' => '5', 'regexp_country' => '0{0,3}502[0-9]*', 'regexp_mobile' => ''), 'GN' => array('start_number' => '2', 'regexp_country' => '0{0,3}224[0-9]*', 'regexp_mobile' => ''), 'GW' => array('start_number' => '2', 'regexp_country' => '0{0,3}245[0-9]*', 'regexp_mobile' => ''), 'GY' => array('start_number' => '5', 'regexp_country' => '0{0,3}592[0-9]*', 'regexp_mobile' => ''), 'HT' => array('start_number' => '5', 'regexp_country' => '0{0,3}509[0-9]*', 'regexp_mobile' => ''), 'HN' => array('start_number' => '5', 'regexp_country' => '0{0,3}504[0-9]*', 'regexp_mobile' => ''), 'HK' => array('start_number' => '8', 'regexp_country' => '0{0,3}852[0-9]*', 'regexp_mobile' => ''), 'HU' => array('start_number' => '3', 'regexp_country' => '0{0,3}36[0-9]*', 'regexp_mobile' => '(0{0,3}3620[0-9]*|0{0,3}3670[0-9]*|0{0,3}3630[0-9]*)'), 'IS' => array('start_number' => '3', 'regexp_country' => '0{0,3}354[0-9]*', 'regexp_mobile' => '(0{0,3}3543[0-9]*|0{0,3}3546[0-9]*|0{0,3}357[0-9]*|0{0,3}358[0-9]*)'), 'IN' => array('start_number' => '9', 'regexp_country' => '0{0,3}91[0-9]*', 'regexp_mobile' => '0{0,3}919[0-9]*'), 'ID' => array('start_number' => '6', 'regexp_country' => '0{0,3}62[0-9]*', 'regexp_mobile' => ''), 'IR' => array('start_number' => '9', 'regexp_country' => '0{0,3}98[0-9]*', 'regexp_mobile' => ''), 'IQ' => array('start_number' => '9', 'regexp_country' => '0{0,3}964[0-9]*', 'regexp_mobile' => ''), 'IE' => array('start_number' => '3', 'regexp_country' => '0{0,3}353[0-9]*', 'regexp_mobile' => '0{0,3}3538[0-9]*'), 'IL' => array('start_number' => '9', 'regexp_country' => '0{0,3}972[0-9]*', 'regexp_mobile' => '0{0,3}9725[0-9]*'), 'IT' => array('start_number' => '3', 'regexp_country' => '0{0,3}39[0-9]*', 'regexp_mobile' => '0{0,3}393[0-9]*'), 'JM' => array('start_number' => '1', 'regexp_country' => '0{0,3}1876[0-9]*', 'regexp_mobile' => ''), 'JP' => array('start_number' => '8', 'regexp_country' => '0{0,3}81[0-9]*', 'regexp_mobile' => '(0{0,3}810[0-9]*|0{0,3}8170[0-9]*|0{0,3}8180[0-9]*|0{0,3}8190[0-9]*)'), 'JO' => array('start_number' => '9', 'regexp_country' => '0{0,3}962[0-9]*', 'regexp_mobile' => '0{0,3}9627[0-9]*'), 'KZ' => array('start_number' => '7', 'regexp_country' => '0{0,3}77[0-9]*', 'regexp_mobile' => ''), 'KE' => array('start_number' => '2', 'regexp_country' => '0{0,3}254[0-9]*', 'regexp_mobile' => ''), 'KI' => array('start_number' => '6', 'regexp_country' => '0{0,3}686[0-9]*', 'regexp_mobile' => ''), 'KP' => array('start_number' => '8', 'regexp_country' => '0{0,3}850[0-9]*', 'regexp_mobile' => ''), 'KR' => array('start_number' => '8', 'regexp_country' => '0{0,3}82[0-9]*', 'regexp_mobile' => '0{0,3}821[0-9]*'), 'KW' => array('start_number' => '9', 'regexp_country' => '0{0,3}965[0-9]*', 'regexp_mobile' => ''), 'KG' => array('start_number' => '9', 'regexp_country' => '0{0,3}996[0-9]*', 'regexp_mobile' => ''), 'LA' => array('start_number' => '8', 'regexp_country' => '0{0,3}856[0-9]*', 'regexp_mobile' => ''), 'LV' => array('start_number' => '3', 'regexp_country' => '0{0,3}371[0-9]*', 'regexp_mobile' => '0{0,3}3712[0-9]*'), 'LB' => array('start_number' => '9', 'regexp_country' => '0{0,3}961[0-9]*', 'regexp_mobile' => '(0{0,3}96170[0-9]*|0{0,3}96171[0-9]*|0{0,3}9613[0-9]*)'), 'LS' => array('start_number' => '2', 'regexp_country' => '0{0,3}266[0-9]*', 'regexp_mobile' => ''), 'LR' => array('start_number' => '2', 'regexp_country' => '0{0,3}231[0-9]*', 'regexp_mobile' => ''), 'LY' => array('start_number' => '2', 'regexp_country' => '0{0,3}218[0-9]*', 'regexp_mobile' => ''), 'LI' => array('start_number' => '4', 'regexp_country' => '0{0,3}423[0-9]*', 'regexp_mobile' => '(0{0,3}4236[0-9]*|0{0,3}4237[0-9]*)'), 'LT' => array('start_number' => '3', 'regexp_country' => '0{0,3}370[0-9]*', 'regexp_mobile' => '0{0,3}3706[0-9]*'), 'LU' => array('start_number' => '3', 'regexp_country' => '0{0,3}352[0-9]*', 'regexp_mobile' => '0{0,3}3526[0-9]*'), 'MO' => array('start_number' => '8', 'regexp_country' => '0{0,3}853[0-9]*', 'regexp_mobile' => '0{0,3}8536[0-9]*'), 'MK' => array('start_number' => '3', 'regexp_country' => '0{0,3}389[0-9]*', 'regexp_mobile' => '0{0,3}3897[0-9]*'), 'MG' => array('start_number' => '2', 'regexp_country' => '0{0,3}261[0-9]*', 'regexp_mobile' => ''), 'MW' => array('start_number' => '2', 'regexp_country' => '0{0,3}265[0-9]*', 'regexp_mobile' => '(0{0,3}2653[0-9]*|0{0,3}2654[0-9]*|0{0,3}2655[0-9]*|0{0,3}2657[0-9]*|0{0,3}2658[0-9]*|0{0,3}2659[0-9]*)'), 'MY' => array('start_number' => '6', 'regexp_country' => '0{0,3}60[0-9]*', 'regexp_mobile' => '0{0,3}601[0-9]*'), 'MV' => array('start_number' => '9', 'regexp_country' => '0{0,3}960[0-9]*', 'regexp_mobile' => '(0{0,3}96096[0-9]*|0{0,3}96097[0-9]*|0{0,3}960980{0,3}96099[0-9]*)'), 'ML' => array('start_number' => '2', 'regexp_country' => '0{0,3}223[0-9]*', 'regexp_mobile' => ''), 'MT' => array('start_number' => '3', 'regexp_country' => '0{0,3}356[0-9]*', 'regexp_mobile' => '(0{0,3}3567[0-9]*|0{0,3}3569[0-9]*)'), 'MH' => array('start_number' => '6', 'regexp_country' => '0{0,3}692[0-9]*', 'regexp_mobile' => ''), 'MQ' => array('start_number' => '5', 'regexp_country' => '0{0,3}596[0-9]*', 'regexp_mobile' => '0{0,3}5966[0-9]*'), 'MR' => array('start_number' => '2', 'regexp_country' => '0{0,3}222[0-9]*', 'regexp_mobile' => ''), 'MU' => array('start_number' => '2', 'regexp_country' => '0{0,3}230[0-9]*', 'regexp_mobile' => ''), 'YT' => array('start_number' => '5', 'regexp_country' => '0{0,3}52[0-9]*', 'regexp_mobile' => '0{0,3}521[0-9]*'), 'MX' => array('start_number' => '6', 'regexp_country' => '0{0,3}691[0-9]*', 'regexp_mobile' => ''), 'FM' => array('start_number' => '3', 'regexp_country' => '0{0,3}373[0-9]*', 'regexp_mobile' => ''), 'MD' => array('start_number' => '3', 'regexp_country' => '0{0,3}377[0-9]*', 'regexp_mobile' => '(0{0,3}3774[0-9]*|0{0,3}3776[0-9]*)'), 'MC' => array('start_number' => '9', 'regexp_country' => '0{0,3}976[0-9]*', 'regexp_mobile' => ''), 'MN' => array('start_number' => '3', 'regexp_country' => '0{0,3}382[0-9]*', 'regexp_mobile' => ''), 'MS' => array('start_number' => '1', 'regexp_country' => '0{0,3}1664[0-9]*', 'regexp_mobile' => '(0{0,3}1664349[0-9]*|0{0,3}1664492[0-9]*|0{0,3}1664493[0-9]*|0{0,3}1664495[0-9]*|0{0,3}1664496[0-9]*)'), 'MA' => array('start_number' => '2', 'regexp_country' => '0{0,3}212[0-9]*', 'regexp_mobile' => '0{0,3}2126[0-9]*'), 'MZ' => array('start_number' => '2', 'regexp_country' => '0{0,3}258[0-9]*', 'regexp_mobile' => '0{0,3}2588[0-9]*'), 'MM' => array('start_number' => '9', 'regexp_country' => '0{0,3}95[0-9]*', 'regexp_mobile' => ''), 'NA' => array('start_number' => '2', 'regexp_country' => '0{0,3}264[0-9]*', 'regexp_mobile' => '0{0,3}2648[0-9]*'), 'NR' => array('start_number' => '6', 'regexp_country' => '0{0,3}674[0-9]*', 'regexp_mobile' => ''), 'NP' => array('start_number' => '9', 'regexp_country' => '0{0,3}977[0-9]*', 'regexp_mobile' => ''), 'NL' => array('start_number' => '3', 'regexp_country' => '0{0,3}31[0-9]*', 'regexp_mobile' => '0{0,3}316[0-9]*'), 'AN' => array('start_number' => '5', 'regexp_country' => '0{0,3}599[0-9]*', 'regexp_mobile' => ''), 'NC' => array('start_number' => '6', 'regexp_country' => '0{0,3}687[0-9]*', 'regexp_mobile' => ''), 'NZ' => array('start_number' => '6', 'regexp_country' => '0{0,3}64[0-9]*', 'regexp_mobile' => '0{0,3}642[0-9]*'), 'NI' => array('start_number' => '5', 'regexp_country' => '0{0,3}505[0-9]*', 'regexp_mobile' => ''), 'NE' => array('start_number' => '2', 'regexp_country' => '0{0,3}227[0-9]*', 'regexp_mobile' => ''), 'NG' => array('start_number' => '2', 'regexp_country' => '0{0,3}234[0-9]*', 'regexp_mobile' => ''), 'NU' => array('start_number' => '6', 'regexp_country' => '0{0,3}683[0-9]*', 'regexp_mobile' => ''), 'NF' => array('start_number' => '6', 'regexp_country' => '0{0,3}6723[0-9]*', 'regexp_mobile' => ''), 'MP' => array('start_number' => '1', 'regexp_country' => '0{0,3}1670[0-9]*', 'regexp_mobile' => ''), 'NO' => array('start_number' => '4', 'regexp_country' => '0{0,3}47[0-9]*', 'regexp_mobile' => '(0{0,3}474[0-9]*|0{0,3}479[0-9]*)'), 'OM' => array('start_number' => '9', 'regexp_country' => '0{0,3}968[0-9]*', 'regexp_mobile' => '0{0,3}9689[0-9]*'), 'PK' => array('start_number' => '9', 'regexp_country' => '0{0,3}92[0-9]*', 'regexp_mobile' => '0{0,3}923[0-9]*'), 'PW' => array('start_number' => '6', 'regexp_country' => '0{0,3}680[0-9]*', 'regexp_mobile' => ''), 'PS' => array('start_number' => '9', 'regexp_country' => '0{0,3}970[0-9]*', 'regexp_mobile' => ''), 'PA' => array('start_number' => '5', 'regexp_country' => '0{0,3}507[0-9]*', 'regexp_mobile' => '(0{0,3}507648[0-9]*|0{0,3}507649[0-9]*|0{0,3}67565[0-9]*|0{0,3}67566[0-9]*)'), 'PG' => array('start_number' => '6', 'regexp_country' => '0{0,3}675[0-9]*', 'regexp_mobile' => ''), 'PY' => array('start_number' => '5', 'regexp_country' => '0{0,3}595[0-9]*', 'regexp_mobile' => '0{0,3}5959[0-9]*'), 'PE' => array('start_number' => '5', 'regexp_country' => '0{0,3}51[0-9]*', 'regexp_mobile' => '(0{0,3}51941[0-9]*|0{0,3}5195[0-9]*|0{0,3}5195[0-9]*|0{0,3}5196[0-9]*|0{0,3}5197[0-9]*|0{0,3}5198[0-9]*|0{0,3}51949[0-9]*|0{0,3}5199[0-9]*|0{0,3}51942[0-9]*)'), 'PH' => array('start_number' => '6', 'regexp_country' => '0{0,3}63[0-9]*', 'regexp_mobile' => ''), 'PL' => array('start_number' => '4', 'regexp_country' => '0{0,3}48[0-9]*', 'regexp_mobile' => '(0{0,3}4850[0-9]*| 0{0,3}4851[0-9]*|0{0,3}4860[0-9]*|0{0,3}4866[0-9]*|0{0,3}4869[0-9]*|0{0,3}4872[0-9]*|0{0,3}4878[0-9]*|0{0,3}4879[0-9]*)'), 'PT' => array('start_number' => '3', 'regexp_country' => '0{0,3}351[0-9]*', 'regexp_mobile' => '0{0,3}3511[0-9]*'), 'PR' => array('start_number' => '1', 'regexp_country' => '(0{0,3}1787|0{0,3}1939[0-9]*)', 'regexp_mobile' => ''), 'QA' => array('start_number' => '9', 'regexp_country' => '0{0,3}974[0-9]*', 'regexp_mobile' => ''), 'RE' => array('start_number' => '2', 'regexp_country' => '0{0,3}262[0-9]*', 'regexp_mobile' => '(0{0,3}26269[0-9]*|0{0,3}26220[0-9]*|0{0,3}26221[0-9]*|0{0,3}2623[0-9]*|0{0,3}26265[0-9]*|0{0,3}26266[0-9]*|0{0,3}26267[0-9]*|0{0,3}26268[0-9]*)'), 'RO' => array('start_number' => '4', 'regexp_country' => '0{0,3}40[0-9]*', 'regexp_mobile' => '0{0,3}407[0-9]*'), 'RU' => array('start_number' => '7', 'regexp_country' => '0{0,3}7[0-9]*', 'regexp_mobile' => '(0{0,3}7407[0-9]*|0{0,3}7810[0-9]*|0{0,3}79[0-9]*)'), 'RW' => array('start_number' => '2', 'regexp_country' => '0{0,3}250[0-9]*', 'regexp_mobile' => ''), 'SH' => array('start_number' => '2', 'regexp_country' => '0{0,3}290[0-9]*', 'regexp_mobile' => ''), 'KN' => array('start_number' => '1', 'regexp_country' => '0{0,3}1869[0-9]*', 'regexp_mobile' => ''), 'LC' => array('start_number' => '1', 'regexp_country' => '0{0,3}1758[0-9]*', 'regexp_mobile' => ''), 'PM' => array('start_number' => '5', 'regexp_country' => '0{0,3}508[0-9]*', 'regexp_mobile' => ''), 'VC' => array('start_number' => '1', 'regexp_country' => '0{0,3}1784[0-9]*', 'regexp_mobile' => ''), 'WS' => array('start_number' => '6', 'regexp_country' => '0{0,3}685[0-9]*', 'regexp_mobile' => ''), 'SM' => array('start_number' => '3', 'regexp_country' => '0{0,3}378[0-9]*', 'regexp_mobile' => ''), 'ST' => array('start_number' => '2', 'regexp_country' => '0{0,3}239[0-9]*', 'regexp_mobile' => ''), 'SA' => array('start_number' => '9', 'regexp_country' => '0{0,3}966[0-9]*', 'regexp_mobile' => ''), 'SN' => array('start_number' => '2', 'regexp_country' => '0{0,3}221[0-9]*', 'regexp_mobile' => ''), 'RS' => array('start_number' => '3', 'regexp_country' => '0{0,3}381[0-9]*', 'regexp_mobile' => '0{0,3}3816[0-9]*'), 'SC' => array('start_number' => '2', 'regexp_country' => '0{0,3}248[0-9]*', 'regexp_mobile' => '(0{0,3}24851[0-9]*|0{0,3}24852[0-9]*|0{0,3}24853[0-9]*|0{0,3}24854[0-9]*|0{0,3}24855[0-9]*|0{0,3}24856[0-9]*|0{0,3}24857[0-9]*|0{0,3}24858[0-9]*|0{0,3}24859[0-9]*|0{0,3}2487[0-9]*)'), 'SL' => array('start_number' => '2', 'regexp_country' => '0{0,3}232[0-9]*', 'regexp_mobile' => '(0{0,3}23223[0-9]*|0{0,3}23230[0-9]*|0{0,3}23233[0-9]*|0{0,3}23235[0-9]*|0{0,3}23240[0-9]*|0{0,3}23250[0-9]*|0{0,3}23276[0-9]*|0{0,3}23277[0-9]*)'), 'SG' => array('start_number' => '6', 'regexp_country' => '0{0,3}65[0-9]*', 'regexp_mobile' => '(0{0,3}658[0-9]*|0{0,3}659[0-9]*)'), 'SK' => array('start_number' => '4', 'regexp_country' => '0{0,3}421[0-9]*', 'regexp_mobile' => '0{0,3}4219[0-9]*'), 'SI' => array('start_number' => '3', 'regexp_country' => '0{0,3}386[0-9]*', 'regexp_mobile' => '(0{0,3}38630[0-9]*|0{0,3}38631[0-9]*|0{0,3}38640[0-9]*|0{0,3}38641[0-9]*|0{0,3}38649[0-9]*|0{0,3}38651[0-9]*|0{0,3}38664[0-9]*|0{0,3}38665[0-9]*|0{0,3}38666[0-9]*|0{0,3}38667[0-9]*|0{0,3}38668[0-9]*|0{0,3}38669[0-9]*|0{0,3}38670[0-9]*|0{0,3}38671[0-9]*)'), 'SB' => array('start_number' => '6', 'regexp_country' => '0{0,3}677[0-9]*', 'regexp_mobile' => ''), 'SO' => array('start_number' => '2', 'regexp_country' => '0{0,3}252[0-9]*', 'regexp_mobile' => ''), 'ZA' => array('start_number' => '2', 'regexp_country' => '0{0,3}27[0-9]*', 'regexp_mobile' => '(0{0,3}2772[0-9]*|0{0,3}2773[0-9]*|0{0,3}2774[0-9]*|0{0,3}2776[0-9]*|0{0,3}2778[0-9]*|0{0,3}2782[0-9]*|0{0,3}2783[0-9]*|0{0,3}2784[0-9]*)'), 'ES' => array('start_number' => '3', 'regexp_country' => '0{0,3}34[0-9]*', 'regexp_mobile' => '0{0,3}346[0-9]*'), 'LK' => array('start_number' => '9', 'regexp_country' => '0{0,3}94[0-9]*', 'regexp_mobile' => ''), 'SD' => array('start_number' => '2', 'regexp_country' => '0{0,3}249[0-9]*', 'regexp_mobile' => ''), 'SR' => array('start_number' => '5', 'regexp_country' => '0{0,3}597[0-9]*', 'regexp_mobile' => ''), 'SZ' => array('start_number' => '2', 'regexp_country' => '0{0,3}268[0-9]*', 'regexp_mobile' => '0{0,3}2686[0-9]*'), 'SE' => array('start_number' => '4', 'regexp_country' => '0{0,3}46[0-9]*', 'regexp_mobile' => '(0{0,3}4610[0-9]*|0{0,3}4670[0-9]*|0{0,3}4672[0-9]*|0{0,3}4673[0-9]*|0{0,3}4676[0-9]*)'), 'CH' => array('start_number' => '4', 'regexp_country' => '0{0,3}41[0-9]*', 'regexp_mobile' => '(0{0,3}4176[0-9]*|0{0,3}4177[0-9]*|0{0,3}4178[0-9]*|0{0,3}4179[0-9]*)'), 'SY' => array('start_number' => '9', 'regexp_country' => '0{0,3}963[0-9]*', 'regexp_mobile' => ''), 'TW' => array('start_number' => '8', 'regexp_country' => '0{0,3}886[0-9]*', 'regexp_mobile' => '0{0,3}8669[0-9]*'), 'TJ' => array('start_number' => '9', 'regexp_country' => '0{0,3}992[0-9]*', 'regexp_mobile' => '0{0,3}9929[0-9]*'), 'TZ' => array('start_number' => '2', 'regexp_country' => '0{0,3}255[0-9]*', 'regexp_mobile' => ''), 'TH' => array('start_number' => '6', 'regexp_country' => '0{0,3}66[0-9]*', 'regexp_mobile' => '0{0,3}668[0-9]*'), 'TG' => array('start_number' => '2', 'regexp_country' => '0{0,3}228[0-9]*', 'regexp_mobile' => ''), 'TK' => array('start_number' => '6', 'regexp_country' => '0{0,3}690[0-9]*', 'regexp_mobile' => ''), 'TO' => array('start_number' => '6', 'regexp_country' => '0{0,3}676[0-9]*', 'regexp_mobile' => ''), 'TT' => array('start_number' => '1', 'regexp_country' => '0{0,3}1868[0-9]*', 'regexp_mobile' => ''), 'TN' => array('start_number' => '2', 'regexp_country' => '0{0,3}216[0-9]*', 'regexp_mobile' => ''), 'TR' => array('start_number' => '9', 'regexp_country' => '0{0,3}90[0-9]*', 'regexp_mobile' => '0{0,3}905[0-9]*'), 'TM' => array('start_number' => '9', 'regexp_country' => '0{0,3}993[0-9]*', 'regexp_mobile' => ''), 'TC' => array('start_number' => '1', 'regexp_country' => '0{0,3}1649[0-9]*', 'regexp_mobile' => ''), 'TV' => array('start_number' => '6', 'regexp_country' => '0{0,3}688[0-9]*', 'regexp_mobile' => ''), 'UG' => array('start_number' => '2', 'regexp_country' => '0{0,3}256[0-9]*', 'regexp_mobile' => '0{0,3}2567[0-9]*'), 'UA' => array('start_number' => '3', 'regexp_country' => '0{0,3}380[0-9]*', 'regexp_mobile' => ''), 'AE' => array('start_number' => '9', 'regexp_country' => '0{0,3}971[0-9]*', 'regexp_mobile' => ''), 'GB' => array('start_number' => '4', 'regexp_country' => '0{0,3}44[0-9]*', 'regexp_mobile' => '(0{0,3}4475[0-9]*|0{0,3}4477[0-9]*|0{0,3}4478[0-9]*|0{0,3}4479[0-9]*|[0-9]*)'), 'US' => array('start_number' => '1', 'regexp_country' => '0{0,3}1[0-9]*', 'regexp_mobile' => ''), 'UY' => array('start_number' => '5', 'regexp_country' => '0{0,3}598[0-9]*', 'regexp_mobile' => '0{0,3}5989[0-9]*'), 'VI' => array('start_number' => '1', 'regexp_country' => '0{0,3}1340[0-9]*', 'regexp_mobile' => ''), 'UZ' => array('start_number' => '9', 'regexp_country' => '0{0,3}998[0-9]*', 'regexp_mobile' => ''), 'VU' => array('start_number' => '6', 'regexp_country' => '0{0,3}678[0-9]*', 'regexp_mobile' => ''), 'VE' => array('start_number' => '5', 'regexp_country' => '0{0,3}58[0-9]*', 'regexp_mobile' => '(0{0,3}58412[0-9]*|0{0,3}58414[0-9]*|0{0,3}58415[0-9]*|0{0,3}58416[0-9]*|0{0,3}58417[0-9]*|0{0,3}58418[0-9]*)'), 'VN' => array('start_number' => '8', 'regexp_country' => '0{0,3}84[0-9]*', 'regexp_mobile' => ''), 'VG' => array('start_number' => '1', 'regexp_country' => '0{0,3}1284[0-9]*', 'regexp_mobile' => ''), 'WK' => array('start_number' => '8', 'regexp_country' => '0{0,3}808[0-9]*', 'regexp_mobile' => ''), 'WF' => array('start_number' => '6', 'regexp_country' => '0{0,3}681[0-9]*', 'regexp_mobile' => ''), 'YE' => array('start_number' => '9', 'regexp_country' => '0{0,3}967[0-9]*', 'regexp_mobile' => ''), 'ZM' => array('start_number' => '2', 'regexp_country' => '0{0,3}260[0-9]*', 'regexp_mobile' => '0{0,3}2609[0-9]*'), 'ZW' => array('start_number' => '2', 'regexp_country' => '0{0,3}263[0-9]*', 'regexp_mobile' => '(0{0,3}26311[0-9]*|0{0,3}26323[0-9]*|0{0,3}26391[0-9]*)'));
return (boolean) preg_match('/^\+?[0-9]+(\s?[\-\(]?\s?[0-9]+\)?)*$/', $number);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment