Внимание!
Форум переезжает на новую платформу, в связи с чем регистрация и авторизация временно отключены.
В ближайшее время все функции станут доступны в обычном режиме.


Главная /КОДИНГ Как определить страну по номеру телефона?

В этой теме 9 ответов, 4 участника, последнее обновление  _SaZ_ 4 года, 10 месяцев назад.

Просмотр 10 сообщений - с 1 по 10 (из 10 всего)
  • Автор
    Ответов
  • #1694481

    _SaZ_
    Участник

    Есть номер телефона “phone” в международном формате. Стоит задача определить страну по этому номеру. Язык предпочтительно JS. Во всяком случае решение должно быть платформонезависимое. Возможно кто-то занимался – будет интересно посмотреть на реализации. Чуток попозже выложу то, что я нагенерил.

    #1694490

    Андрей ———–
    Участник

    существует справочник кодов,скажи код и я скажу,что за страна +7 это например Россия

    #1694518

    _SaZ_
    Участник

    Справочник этот? – http://en.wikipedia.org/wiki/List_of_country_calling_codes или этот – http://countrycode.org/ ?

    Мне как-бы программно нужно :). И именно по номеру телефона, а не по коду. Например: +7640296661024 (номер из головы взят, но вполне реальный) – какая страна?

    #1694658

    Андрей ———–
    Участник

    Не знаю,в программном виде могу предложить только [link=http://letitbit.net/download/235b36844660/MegaContacts-v2.3.exe.html]Это[/link]

    #1694678

    _SaZ_
    Участник

    Эх, оффтоп-оффтоп. Ветка форума – про компилируемые языки. Не сложно догадаться, что просится именно код, а не “программы” или “скажи, какой надо”. Это мы и сами умеем.

    Просто мне кажется, что можно сделать элегантнее:

    [code]
    function xxxxx_Code2Country( phone )
    {
    var country = “unknown”;

    if ( phone.length < 5 || phone[0] != ‘+’ )
    return country;

    switch ( phone.substr( 1, 4 ) )
    {
    case ‘7840’:
    case ‘7940’:
    country = ‘ab'; // Abkhazia
    break;
    case ‘1684’:
    country = ‘as'; // American Samoa
    break;
    case ‘1264’:
    country = ‘ai'; // Anguilla
    break;
    case ‘1268’:
    country = ‘ag'; // Antigua and Barbuda
    break;
    case ‘1242’:
    country = ‘bs'; // Bahamas
    break;
    case ‘1246’:
    country = ‘bb'; // Barbados
    break;
    case ‘1441’:
    country = ‘bm'; // Bermuda
    break;
    case ‘1284’:
    country = ‘vg'; // British Virgin Islands
    break;
    case ‘1204’:
    case ‘1250’:
    case ‘1306’:
    case ‘1403’:
    case ‘1416’:
    case ‘1418’:
    case ‘1450’:
    case ‘1506’:
    case ‘1514’:
    case ‘1519’:
    case ‘1604’:
    case ‘1613’:
    case ‘1705’:
    case ‘1709’:
    case ‘1780’:
    case ‘1807’:
    case ‘1819’:
    case ‘1867’:
    case ‘1902’:
    case ‘1905’:
    country = ‘ca'; // Canada
    break;
    case ‘1345’:
    country = ‘ky'; // Cayman Islands
    break;
    case ‘1767’:
    country = ‘dm'; // Dominica
    break;
    case ‘1809’:
    country = ‘do'; // Dominican Republic
    break;
    case ‘1473’:
    country = ‘gd'; // Grenada
    break;
    case ‘1671’:
    country = ‘gu'; // Guam
    break;
    case ‘1876’:
    country = ‘jm'; // Jamaica
    break;
    case ‘1664’:
    country = ‘ms'; // Montserrat
    break;
    case ‘1670’:
    country = ‘mp'; // Northern Mariana Islands
    break;
    case ‘1869’:
    country = ‘kn'; // Saint Kitts and Nevis
    break;
    case ‘1758’:
    country = ‘lc'; // Saint Lucia
    break;
    case ‘1599’:
    country = ‘mf'; // Saint Martin
    break;
    case ‘1784’:
    country = ‘vc'; // Saint Vincent and the Grenadines
    break;
    case ‘1868’:
    country = ‘tt'; // Trinidad and Tobago
    break;
    case ‘1649’:
    country = ‘tc'; // Turks and Caicos Islands
    break;
    case ‘1340’:
    country = ‘vi'; // US Virgin Islands
    break;
    default:
    switch ( phone.substr( 1, 3 ) )
    {
    case ‘355’:
    country = ‘al'; // Albania
    break;
    case ‘213’:
    country = ‘dz'; // Algeria
    break;
    case ‘376’:
    country = ‘ad'; // Andorra
    break;
    case ‘244’:
    country = ‘ao'; // Angola
    break;
    case ‘672’:
    country = ‘aq'; // Antarctica
    break;
    case ‘374’:
    country = ‘am'; // Armenia
    break;
    case ‘297’:
    country = ‘aw'; // Aruba
    break;
    case ‘994’:
    country = ‘az'; // Azerbaijan
    break;
    case ‘973’:
    country = ‘bh'; // Bahrain
    break;
    case ‘880’:
    country = ‘bd'; // Bangladesh
    break;
    case ‘375’:
    country = ‘by'; // Belarus
    break;
    case ‘501’:
    country = ‘bz'; // Belize
    break;
    case ‘229’:
    country = ‘bj'; // Benin
    break;
    case ‘975’:
    country = ‘bt'; // Bhutan
    break;
    case ‘591’:
    country = ‘bo'; // Bolivia
    break;
    case ‘387’:
    country = ‘ba'; // Bosnia and Herzegovina
    break;
    case ‘267’:
    country = ‘bw'; // Botswana
    break;
    case ‘673’:
    country = ‘bn'; // Brunei
    break;
    case ‘359’:
    country = ‘bg'; // Bulgaria
    break;
    case ‘226’:
    country = ‘bf'; // Burkina Faso
    break;
    case ‘257’:
    country = ‘bi'; // Burundi
    break;
    case ‘855’:
    country = ‘kh'; // Cambodia
    break;
    case ‘237’:
    country = ‘cm'; // Cameroon
    break;
    case ‘238’:
    country = ‘cv'; // Cape Verde
    break;
    case ‘236’:
    country = ‘cf'; // Central African Republic
    break;
    case ‘235’:
    country = ‘td'; // Chad
    break;
    case ‘269’:
    country = ‘km'; // Comoros
    break;
    case ‘682’:
    country = ‘ck'; // Cook Islands
    break;
    case ‘506’:
    country = ‘cr'; // Costa Rica
    break;
    case ‘385’:
    country = ‘hr'; // Croatia
    break;
    case ‘357’:
    country = ‘cy'; // Cyprus
    break;
    case ‘420’:
    country = ‘cz'; // Czech Republic
    break;
    case ‘243’:
    country = ‘cd'; // Democratic Republic of the Congo
    break;
    case ‘253’:
    country = ‘dj'; // Djibouti
    break;
    case ‘670’:
    country = ‘tl'; // East Timor
    break;
    case ‘593’:
    country = ‘ec'; // Ecuador
    break;
    case ‘503’:
    country = ‘sv'; // El Salvador
    break;
    case ‘240’:
    country = ‘gq'; // Equatorial Guinea
    break;
    case ‘291’:
    country = ‘er'; // Eritrea
    break;
    case ‘372’:
    country = ‘ee'; // Estonia
    break;
    case ‘251’:
    country = ‘et'; // Ethiopia
    break;
    case ‘500’:
    country = ‘fk'; // Falkland Islands
    break;
    case ‘298’:
    country = ‘fo'; // Faroe Islands
    break;
    case ‘679’:
    country = ‘fj'; // Fiji
    break;
    case ‘358’:
    country = ‘fi'; // Finland
    break;
    case ‘689’:
    country = ‘pf'; // French Polynesia
    break;
    case ‘241’:
    country = ‘ga'; // Gabon
    break;
    case ‘220’:
    country = ‘gm'; // Gambia
    break;
    case ‘995’:
    country = ‘ge'; // Georgia
    break;
    case ‘233’:
    country = ‘gh'; // Ghana
    break;
    case ‘350’:
    country = ‘gi'; // Gibraltar
    break;
    case ‘299’:
    country = ‘gl'; // Greenland
    break;
    case ‘502’:
    country = ‘gp'; // Guatemala
    break;
    case ‘224’:
    country = ‘gn'; // Guinea
    break;
    case ‘245’:
    country = ‘gw'; // Guinea-Bissau
    break;
    case ‘592’:
    country = ‘gy'; // Guyana
    break;
    case ‘509’:
    country = ‘ht'; // Haiti
    break;
    case ‘504’:
    country = ‘hn'; // Honduras
    break;
    case ‘852’:
    country = ‘hk'; // Hong Kong
    break;
    case ‘354’:
    country = ‘is'; // Iceland
    break;
    case ‘964’:
    country = ‘iq'; // Iraq
    break;
    case ‘353’:
    country = ‘ie'; // Ireland
    break;
    case ‘972’:
    country = ‘il'; // Israel
    break;
    case ‘225’:
    country = ‘ci'; // Ivory Coast
    break;
    case ‘962’:
    country = ‘jo'; // Jordan
    break;
    case ‘254’:
    country = ‘ke'; // Kenya
    break;
    case ‘686’:
    country = ‘ki'; // Kiribati
    break;
    case ‘965’:
    country = ‘kw'; // Kuwait
    break;
    case ‘996’:
    country = ‘kg'; // Kyrgyzstan
    break;
    case ‘856’:
    country = ‘la'; // Laos
    break;
    case ‘371’:
    country = ‘lv'; // Latvia
    break;
    case ‘961’:
    country = ‘lb'; // Lebanon
    break;
    case ‘266’:
    country = ‘ls'; // Lesotho
    break;
    case ‘231’:
    country = ‘lr'; // Liberia
    break;
    case ‘218’:
    country = ‘ly'; // Libya
    break;
    case ‘423’:
    country = ‘li'; // Liechtenstein
    break;
    case ‘370’:
    country = ‘lt'; // Lithuania
    break;
    case ‘352’:
    country = ‘lu'; // Luxembourg
    break;
    case ‘853’:
    country = ‘mo'; // Macau
    break;
    case ‘389’:
    country = ‘mk'; // Macedonia
    break;
    case ‘261’:
    country = ‘mg'; // Madagascar
    break;
    case ‘265’:
    country = ‘mw'; // Malawi
    break;
    case ‘960’:
    country = ‘mv'; // Maldives
    break;
    case ‘223’:
    country = ‘ml'; // Mali
    break;
    case ‘356’:
    country = ‘mt'; // Malta
    break;
    case ‘692’:
    country = ‘mh'; // Marshall Islands
    break;
    case ‘222’:
    country = ‘mr'; // Mauritania
    break;
    case ‘230’:
    country = ‘mu'; // Mauritius
    break;
    case ‘269’:
    country = ‘yt'; // Mayotte
    break;
    case ‘691’:
    country = ‘fm'; // Micronesia
    break;
    case ‘373’:
    country = ‘md'; // Moldova
    break;
    case ‘377’:
    country = ‘mc'; // Monaco
    break;
    case ‘976’:
    country = ‘mn'; // Mongolia
    break;
    case ‘382’:
    country = ‘me'; // Montenegro
    break;
    case ‘212’:
    country = ‘ma'; // Morocco
    break;
    case ‘258’:
    country = ‘mz'; // Mozambique
    break;
    case ‘264’:
    country = ‘na'; // Namibia
    break;
    case ‘674’:
    country = ‘nr'; // Nauru
    break;
    case ‘977’:
    country = ‘np'; // Nepal
    break;
    case ‘599’:
    country = ‘an'; // Netherlands Antilles
    break;
    case ‘687’:
    country = ‘nc'; // New Caledonia
    break;
    case ‘505’:
    country = ‘ni'; // Nicaragua
    break;
    case ‘227’:
    country = ‘ne'; // Niger
    break;
    case ‘234’:
    country = ‘ng'; // Nigeria
    break;
    case ‘683’:
    country = ‘nu'; // Niue
    break;
    case ‘850’:
    country = ‘kp'; // North Korea
    break;
    case ‘968’:
    country = ‘om'; // Oman
    break;
    case ‘680’:
    country = ‘pw'; // Palau
    break;
    case ‘507’:
    country = ‘pa'; // Panama
    break;
    case ‘675’:
    country = ‘pg'; // Papua New Guinea
    break;
    case ‘595’:
    country = ‘py'; // Paraguay
    break;
    case ‘351’:
    country = ‘pt'; // Portugal
    break;
    case ‘139’:
    country = ‘pr'; // Puerto Rico
    break;
    case ‘974’:
    country = ‘qa'; // Qatar
    break;
    case ‘242’:
    country = ‘cg'; // Republic of the Congo
    break;
    case ‘250’:
    country = ‘rw'; // Rwanda
    break;
    case ‘590’:
    country = ‘bl'; // Saint Barthelemy
    break;
    case ‘290’:
    country = ‘sh'; // Saint Helena
    break;
    case ‘508’:
    country = ‘pm'; // Saint Pierre and Miquelon
    break;
    case ‘685’:
    country = ‘ws'; // Samoa
    break;
    case ‘378’:
    country = ‘sm'; // San Marino
    break;
    case ‘239’:
    country = ‘st'; // Sao Tome and Principe
    break;
    case ‘966’:
    country = ‘sa'; // Saudi Arabia
    break;
    case ‘221’:
    country = ‘sn'; // Senegal
    break;
    case ‘381’:
    country = ‘rs'; // Serbia
    break;
    case ‘248’:
    country = ‘sc'; // Seychelles
    break;
    case ‘232’:
    country = ‘sl'; // Sierra Leone
    break;
    case ‘421’:
    country = ‘sk'; // Slovakia
    break;
    case ‘386’:
    country = ‘si'; // Slovenia
    break;
    case ‘677’:
    country = ‘sb'; // Solomon Islands
    break;
    case ‘252’:
    country = ‘so'; // Somalia
    break;
    case ‘249’:
    country = ‘sd'; // Sudan
    break;
    case ‘597’:
    country = ‘sr'; // Suriname
    break;
    case ‘268’:
    country = ‘sz'; // Swaziland
    break;
    case ‘963’:
    country = ‘sy'; // Syria
    break;
    case ‘886’:
    country = ‘tw'; // Taiwan
    break;
    case ‘992’:
    country = ‘tj'; // Tajikistan
    break;
    case ‘255’:
    country = ‘tz'; // Tanzania
    break;
    case ‘228’:
    country = ‘tg'; // Togo
    break;
    case ‘690’:
    country = ‘tk'; // Tokelau
    break;
    case ‘676’:
    country = ‘to'; // Tonga
    break;
    case ‘216’:
    country = ‘tn'; // Tunisia
    break;
    case ‘993’:
    country = ‘tm'; // Turkmenistan
    break;
    case ‘688’:
    country = ‘tv'; // Tuvalu
    break;
    case ‘256’:
    country = ‘ug'; // Uganda
    break;
    case ‘380’:
    country = ‘ua'; // Ukraine
    break;
    case ‘971’:
    country = ‘ae'; // United Arab Emirates
    break;
    case ‘598’:
    country = ‘uy'; // Uruguay
    break;
    case ‘998’:
    country = ‘uz'; // Uzbekistan
    break;
    case ‘678’:
    country = ‘vu'; // Vanuatu
    break;
    case ‘681’:
    country = ‘wf'; // Wallis and Futuna
    break;
    case ‘967’:
    country = ‘ye'; // Yemen
    break;
    case ‘260’:
    country = ‘zm'; // Zambia
    break;
    case ‘263’:
    country = ‘zw'; // Zimbabwe
    break;
    default:
    switch ( phone.substr( 1, 2 ) )
    {
    case ’93′:
    country = ‘af'; // Afghanistan
    break;
    case ’54′:
    country = ‘ar'; // Argentina
    break;
    case ’61′:
    country = ‘au'; // Australia
    break;
    case ’43′:
    country = ‘at'; // Austria
    break;
    case ’32′:
    country = ‘be'; // Belgium
    break;
    case ’55′:
    country = ‘br'; // Brazil
    break;
    case ’95′:
    country = ‘mm'; // Burma (Myanmar)
    break;
    case ’56′:
    country = ‘cl'; // Chile
    break;
    case ’86′:
    country = ‘cn'; // China
    break;
    case ’61′:
    country = ‘cx'; // Christmas Island
    break;
    case ’61′:
    country = ‘cc'; // Cocos (Keeling) Islands
    break;
    case ’57′:
    country = ‘co'; // Colombia
    break;
    case ’53′:
    country = ‘cu'; // Cuba
    break;
    case ’45′:
    country = ‘dk'; // Denmark
    break;
    case ’20′:
    country = ‘eg'; // Egypt
    break;
    case ’33′:
    country = ‘fr'; // France
    break;
    case ’49′:
    country = ‘de'; // Germany
    break;
    case ’30′:
    country = ‘gr'; // Greece
    break;
    case ’39′:
    country = ‘va'; // Holy See (Vatican City)
    break;
    case ’36′:
    country = ‘hu'; // Hungary
    break;
    case ’91′:
    country = ‘in'; // India
    break;
    case ’62′:
    country = ‘id'; // Indonesia
    break;
    case ’98′:
    country = ‘ir'; // Iran
    break;
    case ’44′:
    country = ‘im'; // Isle of Man
    break;
    case ’39′:
    country = ‘it'; // Italy
    break;
    case ’81′:
    country = ‘jp'; // Japan
    break;
    case ’76′:
    case ’77′:
    country = ‘kz'; // Kazakhstan
    break;
    case ’60′:
    country = ‘my'; // Malaysia
    break;
    case ’52′:
    country = ‘mx'; // Mexico
    break;
    case ’31′:
    country = ‘nl'; // Netherlands
    break;
    case ’64′:
    country = ‘nz'; // New Zealand
    break;
    case ’47′:
    country = ‘no'; // Norway
    break;
    case ’92′:
    country = ‘pk'; // Pakistan
    break;
    case ’51′:
    country = ‘pe'; // Peru
    break;
    case ’63′:
    country = ‘ph'; // Philippines
    break;
    case ’64′:
    country = ‘pn'; // Pitcairn Islands
    break;
    case ’48′:
    country = ‘pl'; // Poland
    break;
    case ’40′:
    country = ‘ro'; // Romania
    break;
    case ’65′:
    country = ‘sg'; // Singapore
    break;
    case ’27′:
    country = ‘za'; // South Africa
    break;
    case ’82′:
    country = ‘kr'; // South Korea
    break;
    case ’34′:
    country = ‘es'; // Spain
    break;
    case ’94′:
    country = ‘lk'; // Sri Lanka
    break;
    case ’46′:
    country = ‘se'; // Sweden
    break;
    case ’41′:
    country = ‘ch'; // Switzerland
    break;
    case ’66′:
    country = ‘th'; // Thailand
    break;
    case ’90′:
    country = ‘tr'; // Turkey
    break;
    case ’44′:
    country = ‘gb'; // United Kingdom
    break;
    case ’58′:
    country = ‘ve'; // Venezuela
    break;
    case ’84′:
    country = ‘vn'; // Vietnam
    break;
    default:
    switch ( phone.substr( 1, 1 ) )
    {
    case ‘7’:
    country = ‘ru'; // Russia
    break;
    case ‘1’:
    country = ‘us'; // United States
    break;
    default:
    break;
    }
    break;
    }
    break;
    }
    break;
    }

    return country;
    }

    [/code]

    #1694832

    Як Истребитель
    Участник

    Дык кодов много, запаришься-то все вбивать в switch. Надо бы с базой какой-нибудь сверяться. Например, ввели код 1268, смотрим в базу вида 1234:ab; 1268:az; и выбираем нужное. Кода намного меньше будет, думаю.

    #1694954

    _SaZ_
    Участник

    С какой нафиг базой? Зачем из пушки по воробьям. Данные ВСЕ статические.

    P.S. код не рукописный, я не дурак, чтобы столько набирать :). Код генерированный. В JS я не шарю, но для си это был бы оптимальный вариант.

    #1727444

    Carnage1995
    Участник

    Так, в JS я не разбираюсь но могу посоветовать вот что. Т.к. во всех странах номер(без кода)состоит из семи цифр. Т.к. они стоят после кода то их надо отсеять. Остался только код. Берем базу данных и синхронизируем. И в отдельном окне выводим страну. Т.к. я не разбираюсь в этом ЯП то с кодом мучайся сам.[:D]

    #1727446

    Carnage1995
    Участник
    ORIGINAL: _SaZ_

    Эх, оффтоп-оффтоп. Ветка форума – про компилируемые языки. Не сложно догадаться, что просится именно код, а не “программы” или “скажи, какой надо”. Это мы и сами умеем.

    Просто мне кажется, что можно сделать элегантнее:

    [code]
    function xxxxx_Code2Country( phone )
    {
    var country = “unknown”;

    if ( phone.length < 5 || phone[0] != ‘+’ )
    return country;

    switch ( phone.substr( 1, 4 ) )
    {
    case ‘7840’:
    case ‘7940’:
    country = ‘ab'; // Abkhazia
    break;
    case ‘1684’:
    country = ‘as'; // American Samoa
    break;
    case ‘1264’:
    country = ‘ai'; // Anguilla
    break;
    case ‘1268’:
    country = ‘ag'; // Antigua and Barbuda
    break;
    case ‘1242’:
    country = ‘bs'; // Bahamas
    break;
    case ‘1246’:
    country = ‘bb'; // Barbados
    break;
    case ‘1441’:
    country = ‘bm'; // Bermuda
    break;
    case ‘1284’:
    country = ‘vg'; // British Virgin Islands
    break;
    case ‘1204’:
    case ‘1250’:
    case ‘1306’:
    case ‘1403’:
    case ‘1416’:
    case ‘1418’:
    case ‘1450’:
    case ‘1506’:
    case ‘1514’:
    case ‘1519’:
    case ‘1604’:
    case ‘1613’:
    case ‘1705’:
    case ‘1709’:
    case ‘1780’:
    case ‘1807’:
    case ‘1819’:
    case ‘1867’:
    case ‘1902’:
    case ‘1905’:
    country = ‘ca'; // Canada
    break;
    case ‘1345’:
    country = ‘ky'; // Cayman Islands
    break;
    case ‘1767’:
    country = ‘dm'; // Dominica
    break;
    case ‘1809’:
    country = ‘do'; // Dominican Republic
    break;
    case ‘1473’:
    country = ‘gd'; // Grenada
    break;
    case ‘1671’:
    country = ‘gu'; // Guam
    break;
    case ‘1876’:
    country = ‘jm'; // Jamaica
    break;
    case ‘1664’:
    country = ‘ms'; // Montserrat
    break;
    case ‘1670’:
    country = ‘mp'; // Northern Mariana Islands
    break;
    case ‘1869’:
    country = ‘kn'; // Saint Kitts and Nevis
    break;
    case ‘1758’:
    country = ‘lc'; // Saint Lucia
    break;
    case ‘1599’:
    country = ‘mf'; // Saint Martin
    break;
    case ‘1784’:
    country = ‘vc'; // Saint Vincent and the Grenadines
    break;
    case ‘1868’:
    country = ‘tt'; // Trinidad and Tobago
    break;
    case ‘1649’:
    country = ‘tc'; // Turks and Caicos Islands
    break;
    case ‘1340’:
    country = ‘vi'; // US Virgin Islands
    break;
    default:
    switch ( phone.substr( 1, 3 ) )
    {
    case ‘355’:
    country = ‘al'; // Albania
    break;
    case ‘213’:
    country = ‘dz'; // Algeria
    break;
    case ‘376’:
    country = ‘ad'; // Andorra
    break;
    case ‘244’:
    country = ‘ao'; // Angola
    break;
    case ‘672’:
    country = ‘aq'; // Antarctica
    break;
    case ‘374’:
    country = ‘am'; // Armenia
    break;
    case ‘297’:
    country = ‘aw'; // Aruba
    break;
    case ‘994’:
    country = ‘az'; // Azerbaijan
    break;
    case ‘973’:
    country = ‘bh'; // Bahrain
    break;
    case ‘880’:
    country = ‘bd'; // Bangladesh
    break;
    case ‘375’:
    country = ‘by'; // Belarus
    break;
    case ‘501’:
    country = ‘bz'; // Belize
    break;
    case ‘229’:
    country = ‘bj'; // Benin
    break;
    case ‘975’:
    country = ‘bt'; // Bhutan
    break;
    case ‘591’:
    country = ‘bo'; // Bolivia
    break;
    case ‘387’:
    country = ‘ba'; // Bosnia and Herzegovina
    break;
    case ‘267’:
    country = ‘bw'; // Botswana
    break;
    case ‘673’:
    country = ‘bn'; // Brunei
    break;
    case ‘359’:
    country = ‘bg'; // Bulgaria
    break;
    case ‘226’:
    country = ‘bf'; // Burkina Faso
    break;
    case ‘257’:
    country = ‘bi'; // Burundi
    break;
    case ‘855’:
    country = ‘kh'; // Cambodia
    break;
    case ‘237’:
    country = ‘cm'; // Cameroon
    break;
    case ‘238’:
    country = ‘cv'; // Cape Verde
    break;
    case ‘236’:
    country = ‘cf'; // Central African Republic
    break;
    case ‘235’:
    country = ‘td'; // Chad
    break;
    case ‘269’:
    country = ‘km'; // Comoros
    break;
    case ‘682’:
    country = ‘ck'; // Cook Islands
    break;
    case ‘506’:
    country = ‘cr'; // Costa Rica
    break;
    case ‘385’:
    country = ‘hr'; // Croatia
    break;
    case ‘357’:
    country = ‘cy'; // Cyprus
    break;
    case ‘420’:
    country = ‘cz'; // Czech Republic
    break;
    case ‘243’:
    country = ‘cd'; // Democratic Republic of the Congo
    break;
    case ‘253’:
    country = ‘dj'; // Djibouti
    break;
    case ‘670’:
    country = ‘tl'; // East Timor
    break;
    case ‘593’:
    country = ‘ec'; // Ecuador
    break;
    case ‘503’:
    country = ‘sv'; // El Salvador
    break;
    case ‘240’:
    country = ‘gq'; // Equatorial Guinea
    break;
    case ‘291’:
    country = ‘er'; // Eritrea
    break;
    case ‘372’:
    country = ‘ee'; // Estonia
    break;
    case ‘251’:
    country = ‘et'; // Ethiopia
    break;
    case ‘500’:
    country = ‘fk'; // Falkland Islands
    break;
    case ‘298’:
    country = ‘fo'; // Faroe Islands
    break;
    case ‘679’:
    country = ‘fj'; // Fiji
    break;
    case ‘358’:
    country = ‘fi'; // Finland
    break;
    case ‘689’:
    country = ‘pf'; // French Polynesia
    break;
    case ‘241’:
    country = ‘ga'; // Gabon
    break;
    case ‘220’:
    country = ‘gm'; // Gambia
    break;
    case ‘995’:
    country = ‘ge'; // Georgia
    break;
    case ‘233’:
    country = ‘gh'; // Ghana
    break;
    case ‘350’:
    country = ‘gi'; // Gibraltar
    break;
    case ‘299’:
    country = ‘gl'; // Greenland
    break;
    case ‘502’:
    country = ‘gp'; // Guatemala
    break;
    case ‘224’:
    country = ‘gn'; // Guinea
    break;
    case ‘245’:
    country = ‘gw'; // Guinea-Bissau
    break;
    case ‘592’:
    country = ‘gy'; // Guyana
    break;
    case ‘509’:
    country = ‘ht'; // Haiti
    break;
    case ‘504’:
    country = ‘hn'; // Honduras
    break;
    case ‘852’:
    country = ‘hk'; // Hong Kong
    break;
    case ‘354’:
    country = ‘is'; // Iceland
    break;
    case ‘964’:
    country = ‘iq'; // Iraq
    break;
    case ‘353’:
    country = ‘ie'; // Ireland
    break;
    case ‘972’:
    country = ‘il'; // Israel
    break;
    case ‘225’:
    country = ‘ci'; // Ivory Coast
    break;
    case ‘962’:
    country = ‘jo'; // Jordan
    break;
    case ‘254’:
    country = ‘ke'; // Kenya
    break;
    case ‘686’:
    country = ‘ki'; // Kiribati
    break;
    case ‘965’:
    country = ‘kw'; // Kuwait
    break;
    case ‘996’:
    country = ‘kg'; // Kyrgyzstan
    break;
    case ‘856’:
    country = ‘la'; // Laos
    break;
    case ‘371’:
    country = ‘lv'; // Latvia
    break;
    case ‘961’:
    country = ‘lb'; // Lebanon
    break;
    case ‘266’:
    country = ‘ls'; // Lesotho
    break;
    case ‘231’:
    country = ‘lr'; // Liberia
    break;
    case ‘218’:
    country = ‘ly'; // Libya
    break;
    case ‘423’:
    country = ‘li'; // Liechtenstein
    break;
    case ‘370’:
    country = ‘lt'; // Lithuania
    break;
    case ‘352’:
    country = ‘lu'; // Luxembourg
    break;
    case ‘853’:
    country = ‘mo'; // Macau
    break;
    case ‘389’:
    country = ‘mk'; // Macedonia
    break;
    case ‘261’:
    country = ‘mg'; // Madagascar
    break;
    case ‘265’:
    country = ‘mw'; // Malawi
    break;
    case ‘960’:
    country = ‘mv'; // Maldives
    break;
    case ‘223’:
    country = ‘ml'; // Mali
    break;
    case ‘356’:
    country = ‘mt'; // Malta
    break;
    case ‘692’:
    country = ‘mh'; // Marshall Islands
    break;
    case ‘222’:
    country = ‘mr'; // Mauritania
    break;
    case ‘230’:
    country = ‘mu'; // Mauritius
    break;
    case ‘269’:
    country = ‘yt'; // Mayotte
    break;
    case ‘691’:
    country = ‘fm'; // Micronesia
    break;
    case ‘373’:
    country = ‘md'; // Moldova
    break;
    case ‘377’:
    country = ‘mc'; // Monaco
    break;
    case ‘976’:
    country = ‘mn'; // Mongolia
    break;
    case ‘382’:
    country = ‘me'; // Montenegro
    break;
    case ‘212’:
    country = ‘ma'; // Morocco
    break;
    case ‘258’:
    country = ‘mz'; // Mozambique
    break;
    case ‘264’:
    country = ‘na'; // Namibia
    break;
    case ‘674’:
    country = ‘nr'; // Nauru
    break;
    case ‘977’:
    country = ‘np'; // Nepal
    break;
    case ‘599’:
    country = ‘an'; // Netherlands Antilles
    break;
    case ‘687’:
    country = ‘nc'; // New Caledonia
    break;
    case ‘505’:
    country = ‘ni'; // Nicaragua
    break;
    case ‘227’:
    country = ‘ne'; // Niger
    break;
    case ‘234’:
    country = ‘ng'; // Nigeria
    break;
    case ‘683’:
    country = ‘nu'; // Niue
    break;
    case ‘850’:
    country = ‘kp'; // North Korea
    break;
    case ‘968’:
    country = ‘om'; // Oman
    break;
    case ‘680’:
    country = ‘pw'; // Palau
    break;
    case ‘507’:
    country = ‘pa'; // Panama
    break;
    case ‘675’:
    country = ‘pg'; // Papua New Guinea
    break;
    case ‘595’:
    country = ‘py'; // Paraguay
    break;
    case ‘351’:
    country = ‘pt'; // Portugal
    break;
    case ‘139’:
    country = ‘pr'; // Puerto Rico
    break;
    case ‘974’:
    country = ‘qa'; // Qatar
    break;
    case ‘242’:
    country = ‘cg'; // Republic of the Congo
    break;
    case ‘250’:
    country = ‘rw'; // Rwanda
    break;
    case ‘590’:
    country = ‘bl'; // Saint Barthelemy
    break;
    case ‘290’:
    country = ‘sh'; // Saint Helena
    break;
    case ‘508’:
    country = ‘pm'; // Saint Pierre and Miquelon
    break;
    case ‘685’:
    country = ‘ws'; // Samoa
    break;
    case ‘378’:
    country = ‘sm'; // San Marino
    break;
    case ‘239’:
    country = ‘st'; // Sao Tome and Principe
    break;
    case ‘966’:
    country = ‘sa'; // Saudi Arabia
    break;
    case ‘221’:
    country = ‘sn'; // Senegal
    break;
    case ‘381’:
    country = ‘rs'; // Serbia
    break;
    case ‘248’:
    country = ‘sc'; // Seychelles
    break;
    case ‘232’:
    country = ‘sl'; // Sierra Leone
    break;
    case ‘421’:
    country = ‘sk'; // Slovakia
    break;
    case ‘386’:
    country = ‘si'; // Slovenia
    break;
    case ‘677’:
    country = ‘sb'; // Solomon Islands
    break;
    case ‘252’:
    country = ‘so'; // Somalia
    break;
    case ‘249’:
    country = ‘sd'; // Sudan
    break;
    case ‘597’:
    country = ‘sr'; // Suriname
    break;
    case ‘268’:
    country = ‘sz'; // Swaziland
    break;
    case ‘963’:
    country = ‘sy'; // Syria
    break;
    case ‘886’:
    country = ‘tw'; // Taiwan
    break;
    case ‘992’:
    country = ‘tj'; // Tajikistan
    break;
    case ‘255’:
    country = ‘tz'; // Tanzania
    break;
    case ‘228’:
    country = ‘tg'; // Togo
    break;
    case ‘690’:
    country = ‘tk'; // Tokelau
    break;
    case ‘676’:
    country = ‘to'; // Tonga
    break;
    case ‘216’:
    country = ‘tn'; // Tunisia
    break;
    case ‘993’:
    country = ‘tm'; // Turkmenistan
    break;
    case ‘688’:
    country = ‘tv'; // Tuvalu
    break;
    case ‘256’:
    country = ‘ug'; // Uganda
    break;
    case ‘380’:
    country = ‘ua'; // Ukraine
    break;
    case ‘971’:
    country = ‘ae'; // United Arab Emirates
    break;
    case ‘598’:
    country = ‘uy'; // Uruguay
    break;
    case ‘998’:
    country = ‘uz'; // Uzbekistan
    break;
    case ‘678’:
    country = ‘vu'; // Vanuatu
    break;
    case ‘681’:
    country = ‘wf'; // Wallis and Futuna
    break;
    case ‘967’:
    country = ‘ye'; // Yemen
    break;
    case ‘260’:
    country = ‘zm'; // Zambia
    break;
    case ‘263’:
    country = ‘zw'; // Zimbabwe
    break;
    default:
    switch ( phone.substr( 1, 2 ) )
    {
    case ’93′:
    country = ‘af'; // Afghanistan
    break;
    case ’54′:
    country = ‘ar'; // Argentina
    break;
    case ’61′:
    country = ‘au'; // Australia
    break;
    case ’43′:
    country = ‘at'; // Austria
    break;
    case ’32′:
    country = ‘be'; // Belgium
    break;
    case ’55′:
    country = ‘br'; // Brazil
    break;
    case ’95′:
    country = ‘mm'; // Burma (Myanmar)
    break;
    case ’56′:
    country = ‘cl'; // Chile
    break;
    case ’86′:
    country = ‘cn'; // China
    break;
    case ’61′:
    country = ‘cx'; // Christmas Island
    break;
    case ’61′:
    country = ‘cc'; // Cocos (Keeling) Islands
    break;
    case ’57′:
    country = ‘co'; // Colombia
    break;
    case ’53′:
    country = ‘cu'; // Cuba
    break;
    case ’45′:
    country = ‘dk'; // Denmark
    break;
    case ’20′:
    country = ‘eg'; // Egypt
    break;
    case ’33′:
    country = ‘fr'; // France
    break;
    case ’49′:
    country = ‘de'; // Germany
    break;
    case ’30′:
    country = ‘gr'; // Greece
    break;
    case ’39′:
    country = ‘va'; // Holy See (Vatican City)
    break;
    case ’36′:
    country = ‘hu'; // Hungary
    break;
    case ’91′:
    country = ‘in'; // India
    break;
    case ’62′:
    country = ‘id'; // Indonesia
    break;
    case ’98′:
    country = ‘ir'; // Iran
    break;
    case ’44′:
    country = ‘im'; // Isle of Man
    break;
    case ’39′:
    country = ‘it'; // Italy
    break;
    case ’81′:
    country = ‘jp'; // Japan
    break;
    case ’76′:
    case ’77′:
    country = ‘kz'; // Kazakhstan
    break;
    case ’60′:
    country = ‘my'; // Malaysia
    break;
    case ’52′:
    country = ‘mx'; // Mexico
    break;
    case ’31′:
    country = ‘nl'; // Netherlands
    break;
    case ’64′:
    country = ‘nz'; // New Zealand
    break;
    case ’47′:
    country = ‘no'; // Norway
    break;
    case ’92′:
    country = ‘pk'; // Pakistan
    break;
    case ’51′:
    country = ‘pe'; // Peru
    break;
    case ’63′:
    country = ‘ph'; // Philippines
    break;
    case ’64′:
    country = ‘pn'; // Pitcairn Islands
    break;
    case ’48′:
    country = ‘pl'; // Poland
    break;
    case ’40′:
    country = ‘ro'; // Romania
    break;
    case ’65′:
    country = ‘sg'; // Singapore
    break;
    case ’27′:
    country = ‘za'; // South Africa
    break;
    case ’82′:
    country = ‘kr'; // South Korea
    break;
    case ’34′:
    country = ‘es'; // Spain
    break;
    case ’94′:
    country = ‘lk'; // Sri Lanka
    break;
    case ’46′:
    country = ‘se'; // Sweden
    break;
    case ’41′:
    country = ‘ch'; // Switzerland
    break;
    case ’66′:
    country = ‘th'; // Thailand
    break;
    case ’90′:
    country = ‘tr'; // Turkey
    break;
    case ’44′:
    country = ‘gb'; // United Kingdom
    break;
    case ’58′:
    country = ‘ve'; // Venezuela
    break;
    case ’84′:
    country = ‘vn'; // Vietnam
    break;
    default:
    switch ( phone.substr( 1, 1 ) )
    {
    case ‘7’:
    country = ‘ru'; // Russia
    break;
    case ‘1’:
    country = ‘us'; // United States
    break;
    default:
    break;
    }
    break;
    }
    break;
    }
    break;
    }

    return country;
    }

    [/code]

    Сколько ты это писал? [8|]

    #1727502

    _SaZ_
    Участник


    ORIGINAL: Carnage1995
    Так, в JS я не разбираюсь но могу посоветовать вот что. Т.к. во всех странах номер(без кода)состоит из семи цифр. Т.к. они стоят после кода то их надо отсеять. Остался только код. Берем базу данных и синхронизируем. И в отдельном окне выводим страну. Т.к. я не разбираюсь в этом ЯП то с кодом мучайся сам.[:D]

    Ты не учёл, что бывают “внутристрановые” коды, которые, ктстати, могут быть разной длины. Да и номера телефонов далеко не во всех странах по 7 цифр. К тому же есть “специальные” номера, с добавочными и т.п.


    ORIGINAL: Carnage1995
    Сколько ты это писал? [8|]

    Это писал написанный мной кодогенератор. Меньше, чем за десятую секунды. Ничего сложного тут нет.

Просмотр 10 сообщений - с 1 по 10 (из 10 всего)

Вы должны авторизироваться для ответа в этой теме.