Last active
February 10, 2020 20:19
-
-
Save fjcaetano/5600452 to your computer and use it in GitHub Desktop.
Some patterns to use with NSStringMask
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
These are a few patterns commonly used. | |
1 - Digits only: (\\d+) | |
2 - Names without special characters: ([A-Za-z\\s]+) | |
3 - Email: (([\\w\\.\\-]*?@)([\\w\\.\\-]+)(\\.[a-z]{2,4}) # Incompatible with versions previous to 1.1.2 of NSStringMask | |
4 - Dates: (\\d{2})/(\\d{2})/(\\d{4}) | |
5 - SSN: (\\d{3})-(\\d{2})-(\\d{3}) | |
6 - Telephone: (\\d{3})-(\\d{3})-(\\d{4}) | |
Brasil: | |
1 - CPF: (\\d{3}).(\\d{3}).(\\d{3})-(\\d{2}) | |
2 - RG: (\\d{2}).(\\d{3}).(\\d{3})-(\\d|x|X) | |
3 - CEP: (\\d{2}).(\\d{3})-(\\d{3}) | |
4 - Telefone: (\\d{2}) (\\d{4})-(\\d{4}) |
Is there a way to avoid the caret moving to the end of the text field when editing the text ? I'm trying to change the range selection performed at the end of textField: shouldChangeCharactersInRange: but still couldn't make it work in this scenario - it makes editing a previously set text very difficult as the cursor always goes to the end after each keystroke
any solution for the multiple digits phone?
i can't use shouldChangeCharactersInRange
cause i have a list of all countries around the world, and a regex for each country, so, i don't know which one has more digits.
this is my list, but the regex are all fakes, i haven't created any regex yet
[{
"code": "AF",
"dial_code": "+93",
"flag": "Afghanistan.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Afghanistan"
}, {
"code": "AL",
"dial_code": "+355",
"flag": "Albania.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Albania"
}, {
"code": "DZ",
"dial_code": "+213",
"flag": "Algeria.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Algeria"
}, {
"code": "AS",
"dial_code": "+1 684",
"flag": "American Samoa.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "American Samoa"
}, {
"code": "AD",
"dial_code": "+376",
"flag": "Andorra.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Andorra"
}, {
"code": "AO",
"dial_code": "+244",
"flag": "Angola.png",
"mobileMasks": ["### ### ###"],
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Angola"
}, {
"code": "AI",
"dial_code": "+1 264",
"flag": "Anguilla.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Anguilla"
}, {
"code": "AQ",
"dial_code": null,
"flag": "Antarctica.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Antarctica"
}, {
"code": "AG",
"dial_code": "+1268",
"flag": "Antigua and Barbuda.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Antigua and Barbuda"
}, {
"code": "AR",
"dial_code": "+54",
"flag": "Argentina.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Argentina"
}, {
"code": "AM",
"dial_code": "+374",
"flag": "Armenia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Armenia"
}, {
"code": "AW",
"dial_code": "+297",
"flag": "Aruba.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Aruba"
}, {
"code": "AU",
"dial_code": "+61",
"flag": "Australia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Australia"
}, {
"code": "AT",
"dial_code": "+43",
"flag": "Austria.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Austria"
}, {
"code": "AZ",
"dial_code": "+994",
"flag": "Azerbaijan.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Azerbaijan"
}, {
"code": "BS",
"dial_code": "+1 242",
"flag": "Bahamas.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Bahamas"
}, {
"code": "BH",
"dial_code": "+973",
"flag": "Bahrain.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Bahrain"
}, {
"code": "BD",
"dial_code": "+880",
"flag": "Bangladesh.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Bangladesh"
}, {
"code": "BB",
"dial_code": "+1 246",
"flag": "Barbados.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Barbados"
}, {
"code": "BY",
"dial_code": "+375",
"flag": "Belarus.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Belarus"
}, {
"code": "BE",
"dial_code": "+32",
"flag": "Belgium.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Belgium"
}, {
"code": "BZ",
"dial_code": "+501",
"flag": "Belize.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Belize"
}, {
"code": "BJ",
"dial_code": "+229",
"flag": "Benin.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Benin"
}, {
"code": "BM",
"dial_code": "+1 441",
"flag": "Bermuda.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Bermuda"
}, {
"code": "BT",
"dial_code": "+975",
"flag": "Bhutan.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Bhutan"
}, {
"code": "BO",
"dial_code": "+591",
"flag": "Bolivia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Bolivia, Plurinational State of"
}, {
"code": "BA",
"dial_code": "+387",
"flag": "Bosnia and Herzegovina.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Bosnia and Herzegovina"
}, {
"code": "BW",
"dial_code": "+267",
"flag": "Botswana.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Botswana"
}, {
"code": "BR",
"dial_code": "+55",
"flag": "Brazil.png",
"mobileMasks": ["+## (##) #####-####", "+## (##) ####-####"],
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Brazil"
}, {
"code": "IO",
"dial_code": "+246",
"flag": "British Indian Ocean Territory.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "British Indian Ocean Territory"
}, {
"code": "BN",
"dial_code": "+673",
"flag": "Brunei Darussalam.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Brunei Darussalam"
}, {
"code": "BG",
"dial_code": "+359",
"flag": "Bulgaria.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Bulgaria"
}, {
"code": "BF",
"dial_code": "+226",
"flag": "Burkina Faso.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Burkina Faso"
}, {
"code": "BI",
"dial_code": "+257",
"flag": "Burundi.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Burundi"
}, {
"code": "KH",
"dial_code": "+855",
"flag": "Cambodia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Cambodia"
}, {
"code": "CM",
"dial_code": "+237",
"flag": "Cameroon.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Cameroon"
}, {
"code": "CA",
"dial_code": "+1",
"flag": "Canada.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Canada"
}, {
"code": "CV",
"dial_code": "+238",
"flag": "Cape Verde.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Cape Verde"
}, {
"code": "KY",
"dial_code": "+ 345",
"flag": "Cayman Islands.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Cayman Islands"
}, {
"code": "CF",
"dial_code": "+236",
"flag": "Central African Republic.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Central African Republic"
}, {
"code": "TD",
"dial_code": "+235",
"flag": "Chad.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Chad"
}, {
"code": "CL",
"dial_code": "+56",
"flag": "Chile.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Chile"
}, {
"code": "CN",
"dial_code": "+86",
"flag": "China.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "China"
}, {
"code": "CX",
"dial_code": "+61",
"flag": "Christmas Island.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Christmas Island"
}, {
"code": "CC",
"dial_code": "+61",
"flag": "Cocos (Keeling) Islands.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Cocos (Keeling) Islands"
}, {
"code": "CO",
"dial_code": "+57",
"flag": "Colombia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Colombia"
}, {
"code": "KM",
"dial_code": "+269",
"flag": "Comoros.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Comoros"
}, {
"code": "CG",
"dial_code": "+242",
"flag": "Congo.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Congo"
}, {
"code": "CD",
"dial_code": "+243",
"flag": "Congo, The Democratic Republic of the.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Congo, The Democratic Republic of the"
}, {
"code": "CK",
"dial_code": "+682",
"flag": "Cook Islands.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Cook Islands"
}, {
"code": "CR",
"dial_code": "+506",
"flag": "Costa Rica.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Costa Rica"
}, {
"code": "CI",
"dial_code": "+225",
"flag": "Cote d'Ivoire.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Cote d'Ivoire"
}, {
"code": "HR",
"dial_code": "+385",
"flag": "Croatia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Croatia"
}, {
"code": "CU",
"dial_code": "+53",
"flag": "Cuba.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Cuba"
}, {
"code": "CY",
"dial_code": "+537",
"flag": "Cyprus.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Cyprus"
}, {
"code": "CZ",
"dial_code": "+420",
"flag": "Czech Republic.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Czech Republic"
}, {
"code": "DK",
"dial_code": "+45",
"flag": "Denmark.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Denmark"
}, {
"code": "DJ",
"dial_code": "+253",
"flag": "Djibouti.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Djibouti"
}, {
"code": "DM",
"dial_code": "+1 767",
"flag": "Dominica.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Dominica"
}, {
"code": "DO",
"dial_code": "+1 849",
"flag": "Dominican Republic.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Dominican Republic"
}, {
"code": "EC",
"dial_code": "+593",
"flag": "Ecuador.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Ecuador"
}, {
"code": "EG",
"dial_code": "+20",
"flag": "Egypt.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Egypt"
}, {
"code": "SV",
"dial_code": "+503",
"flag": "El Salvador.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "El Salvador"
}, {
"code": "GQ",
"dial_code": "+240",
"flag": "Equatorial Guinea.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Equatorial Guinea"
}, {
"code": "ER",
"dial_code": "+291",
"flag": "Eritrea.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Eritrea"
}, {
"code": "EE",
"dial_code": "+372",
"flag": "Estonia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Estonia"
}, {
"code": "ET",
"dial_code": "+251",
"flag": "Ethiopia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Ethiopia"
}, {
"code": "FK",
"dial_code": "+500",
"flag": "Falkland Islands (Malvinas).png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Falkland Islands (Malvinas)"
}, {
"code": "FO",
"dial_code": "+298",
"flag": "Faroe Islands.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Faroe Islands"
}, {
"code": "FJ",
"dial_code": "+679",
"flag": "Fiji.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Fiji"
}, {
"code": "FI",
"dial_code": "+358",
"flag": "Finland.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Finland"
}, {
"code": "FR",
"dial_code": "+33",
"flag": "France.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "France"
}, {
"code": "GF",
"dial_code": "+594",
"flag": "French Guiana.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "French Guiana"
}, {
"code": "PF",
"dial_code": "+689",
"flag": "French Polynesia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "French Polynesia"
}, {
"code": "GA",
"dial_code": "+241",
"flag": "Gabon.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Gabon"
}, {
"code": "GM",
"dial_code": "+220",
"flag": "Gambia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Gambia"
}, {
"code": "GE",
"dial_code": "+995",
"flag": "Georgia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Georgia"
}, {
"code": "DE",
"dial_code": "+49",
"flag": "Germany.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Germany"
}, {
"code": "GH",
"dial_code": "+233",
"flag": "Ghana.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Ghana"
}, {
"code": "GI",
"dial_code": "+350",
"flag": "Gibraltar.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Gibraltar"
}, {
"code": "GR",
"dial_code": "+30",
"flag": "Greece.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Greece"
}, {
"code": "GL",
"dial_code": "+299",
"flag": "Greenland.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Greenland"
}, {
"code": "GD",
"dial_code": "+1 473",
"flag": "Grenada.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Grenada"
}, {
"code": "GP",
"dial_code": "+590",
"flag": "Guadeloupe.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Guadeloupe"
}, {
"code": "GU",
"dial_code": "+1 671",
"flag": "Guam.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Guam"
}, {
"code": "GT",
"dial_code": "+502",
"flag": "Guatemala.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Guatemala"
}, {
"code": "GG",
"dial_code": "+44",
"flag": "Guernsey.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Guernsey"
}, {
"code": "GN",
"dial_code": "+224",
"flag": "Guinea.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Guinea"
}, {
"code": "GW",
"dial_code": "+245",
"flag": "Guinea-Bissau.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Guinea-Bissau"
}, {
"code": "GY",
"dial_code": "+595",
"flag": "Guyana.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Guyana"
}, {
"code": "HT",
"dial_code": "+509",
"flag": "Haiti.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Haiti"
}, {
"code": "VA",
"dial_code": "+379",
"flag": "Holy See (Vatican City State).png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Holy See (Vatican City State)"
}, {
"code": "HN",
"dial_code": "+504",
"flag": "Honduras.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Honduras"
}, {
"code": "HK",
"dial_code": "+852",
"flag": "Hong Kong.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Hong Kong"
}, {
"code": "HU",
"dial_code": "+36",
"flag": "Hungary.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Hungary"
}, {
"code": "IS",
"dial_code": "+354",
"flag": "Iceland.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Iceland"
}, {
"code": "IN",
"dial_code": "+91",
"flag": "India.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "India"
}, {
"code": "ID",
"dial_code": "+62",
"flag": "Indonesia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Indonesia"
}, {
"code": "IR",
"dial_code": "+98",
"flag": "Iran, Islamic Republic of.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Iran, Islamic Republic of"
}, {
"code": "IQ",
"dial_code": "+964",
"flag": "Iraq.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Iraq"
}, {
"code": "IE",
"dial_code": "+353",
"flag": "Ireland.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Ireland"
}, {
"code": "IM",
"dial_code": "+44",
"flag": "Isle of Man.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Isle of Man"
}, {
"code": "IL",
"dial_code": "+972",
"flag": "Israel.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Israel"
}, {
"code": "IT",
"dial_code": "+39",
"flag": "Italy.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Italy"
}, {
"code": "JM",
"dial_code": "+1 876",
"flag": "Jamaica.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Jamaica"
}, {
"code": "JP",
"dial_code": "+81",
"flag": "Japan.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Japan"
}, {
"code": "JE",
"dial_code": "+44",
"flag": "Jersey.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Jersey"
}, {
"code": "JO",
"dial_code": "+962",
"flag": "Jordan.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Jordan"
}, {
"code": "KZ",
"dial_code": "+7 7",
"flag": "Kazakhstan.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Kazakhstan"
}, {
"code": "KE",
"dial_code": "+254",
"flag": "Kenya.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Kenya"
}, {
"code": "KI",
"dial_code": "+686",
"flag": "Kiribati.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Kiribati"
}, {
"code": "KP",
"dial_code": "+850",
"flag": "Korea, Democratic People's Republic of.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Korea, Democratic People's Republic of"
}, {
"code": "KR",
"dial_code": "+82",
"flag": "Korea, Republic of.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Korea, Republic of"
}, {
"code": "KW",
"dial_code": "+965",
"flag": "Kuwait.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Kuwait"
}, {
"code": "KG",
"dial_code": "+996",
"flag": "Kyrgyzstan.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Kyrgyzstan"
}, {
"code": "AX",
"dial_code": "",
"flag": "land Islands.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "land Islands"
}, {
"code": "LA",
"dial_code": "+856",
"flag": "Lao People's Democratic Republic.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Lao People's Democratic Republic"
}, {
"code": "LV",
"dial_code": "+371",
"flag": "Latvia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Latvia"
}, {
"code": "LB",
"dial_code": "+961",
"flag": "Lebanon.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Lebanon"
}, {
"code": "LS",
"dial_code": "+266",
"flag": "Lesotho.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Lesotho"
}, {
"code": "LR",
"dial_code": "+231",
"flag": "Liberia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Liberia"
}, {
"code": "LY",
"dial_code": "+218",
"flag": "Libyan Arab Jamahiriya.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Libyan Arab Jamahiriya"
}, {
"code": "LI",
"dial_code": "+423",
"flag": "Liechtenstein.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Liechtenstein"
}, {
"code": "LT",
"dial_code": "+370",
"flag": "Lithuania.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Lithuania"
}, {
"code": "LU",
"dial_code": "+352",
"flag": "Luxembourg.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Luxembourg"
}, {
"code": "MO",
"dial_code": "+853",
"flag": "Macao.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Macao"
}, {
"code": "MK",
"dial_code": "+389",
"flag": "Macedonia, The Former Yugoslav Republic of.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Macedonia, The Former Yugoslav Republic of"
}, {
"code": "MG",
"dial_code": "+261",
"flag": "Madagascar.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Madagascar"
}, {
"code": "MW",
"dial_code": "+265",
"flag": "Malawi.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Malawi"
}, {
"code": "MY",
"dial_code": "+60",
"flag": "Malaysia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Malaysia"
}, {
"code": "MV",
"dial_code": "+960",
"flag": "Maldives.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Maldives"
}, {
"code": "ML",
"dial_code": "+223",
"flag": "Mali.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Mali"
}, {
"code": "MT",
"dial_code": "+356",
"flag": "Malta.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Malta"
}, {
"code": "MH",
"dial_code": "+692",
"flag": "Marshall Islands.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Marshall Islands"
}, {
"code": "MQ",
"dial_code": "+596",
"flag": "Martinique.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Martinique"
}, {
"code": "MR",
"dial_code": "+222",
"flag": "Mauritania.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Mauritania"
}, {
"code": "MU",
"dial_code": "+230",
"flag": "Mauritius.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Mauritius"
}, {
"code": "YT",
"dial_code": "+262",
"flag": "Mayotte.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Mayotte"
}, {
"code": "MX",
"dial_code": "+52",
"flag": "Mexico.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Mexico"
}, {
"code": "FM",
"dial_code": "+691",
"flag": "Micronesia, Federated States of.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Micronesia, Federated States of"
}, {
"code": "MD",
"dial_code": "+373",
"flag": "Moldova, Republic of.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Moldova, Republic of"
}, {
"code": "MC",
"dial_code": "+377",
"flag": "Monaco.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Monaco"
}, {
"code": "MN",
"dial_code": "+976",
"flag": "Mongolia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Mongolia"
}, {
"code": "ME",
"dial_code": "+382",
"flag": "Montenegro.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Montenegro"
}, {
"code": "MS",
"dial_code": "+1664",
"flag": "Montserrat.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Montserrat"
}, {
"code": "MA",
"dial_code": "+212",
"flag": "Morocco.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Morocco"
}, {
"code": "MZ",
"dial_code": "+258",
"flag": "Mozambique.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Mozambique"
}, {
"code": "MM",
"dial_code": "+95",
"flag": "Myanmar.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Myanmar"
}, {
"code": "NA",
"dial_code": "+264",
"flag": "Namibia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Namibia"
}, {
"code": "NR",
"dial_code": "+674",
"flag": "Nauru.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Nauru"
}, {
"code": "NP",
"dial_code": "+977",
"flag": "Nepal.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Nepal"
}, {
"code": "NL",
"dial_code": "+31",
"flag": "Netherlands.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Netherlands"
}, {
"code": "AN",
"dial_code": "+599",
"flag": "Netherlands Antilles.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Netherlands Antilles"
}, {
"code": "NC",
"dial_code": "+687",
"flag": "New Caledonia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "New Caledonia"
}, {
"code": "NZ",
"dial_code": "+64",
"flag": "New Zealand.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "New Zealand"
}, {
"code": "NI",
"dial_code": "+505",
"flag": "Nicaragua.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Nicaragua"
}, {
"code": "NE",
"dial_code": "+227",
"flag": "Niger.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Niger"
}, {
"code": "NG",
"dial_code": "+234",
"flag": "Nigeria.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Nigeria"
}, {
"code": "NU",
"dial_code": "+683",
"flag": "Niue.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Niue"
}, {
"code": "NF",
"dial_code": "+672",
"flag": "Norfolk Island.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Norfolk Island"
}, {
"code": "MP",
"dial_code": "+1 670",
"flag": "Northern Mariana Islands.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Northern Mariana Islands"
}, {
"code": "NO",
"dial_code": "+47",
"flag": "Norway.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Norway"
}, {
"code": "OM",
"dial_code": "+968",
"flag": "Oman.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Oman"
}, {
"code": "PK",
"dial_code": "+92",
"flag": "Pakistan.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Pakistan"
}, {
"code": "PW",
"dial_code": "+680",
"flag": "Palau.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Palau"
}, {
"code": "PS",
"dial_code": "+970",
"flag": "Palestinian Territory, Occupied.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Palestinian Territory, Occupied"
}, {
"code": "PA",
"dial_code": "+507",
"flag": "Panama.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Panama"
}, {
"code": "PG",
"dial_code": "+675",
"flag": "Papua New Guinea.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Papua New Guinea"
}, {
"code": "PY",
"dial_code": "+595",
"flag": "Paraguay.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Paraguay"
}, {
"code": "PE",
"dial_code": "+51",
"flag": "Peru.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Peru"
}, {
"code": "PH",
"dial_code": "+63",
"flag": "Philippines.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Philippines"
}, {
"code": "PN",
"dial_code": "+872",
"flag": "Pitcairn.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Pitcairn"
}, {
"code": "PL",
"dial_code": "+48",
"flag": "Poland.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Poland"
}, {
"code": "PT",
"dial_code": "+351",
"flag": "Portugal.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Portugal"
}, {
"code": "PR",
"dial_code": "+1 939",
"flag": "Puerto Rico.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Puerto Rico"
}, {
"code": "QA",
"dial_code": "+974",
"flag": "Qatar.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Qatar"
}, {
"code": "RO",
"dial_code": "+40",
"flag": "Romania.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Romania"
}, {
"code": "RU",
"dial_code": "+7",
"flag": "Russia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Russia"
}, {
"code": "RW",
"dial_code": "+250",
"flag": "Rwanda.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Rwanda"
}, {
"code": "RE",
"dial_code": "+262",
"flag": "Réunion.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Réunion"
}, {
"code": "BL",
"dial_code": "+590",
"flag": "Saint Barthélemy.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Saint Barthélemy"
}, {
"code": "SH",
"dial_code": "+290",
"flag": "Saint Helena, Ascension and Tristan Da Cunha.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Saint Helena, Ascension and Tristan Da Cunha"
}, {
"code": "KN",
"dial_code": "+1 869",
"flag": "Saint Kitts and Nevis.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Saint Kitts and Nevis"
}, {
"code": "LC",
"dial_code": "+1 758",
"flag": "Saint Lucia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Saint Lucia"
}, {
"code": "MF",
"dial_code": "+590",
"flag": "Saint Martin.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Saint Martin"
}, {
"code": "PM",
"dial_code": "+508",
"flag": "Saint Pierre and Miquelon.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Saint Pierre and Miquelon"
}, {
"code": "VC",
"dial_code": "+1 784",
"flag": "Saint Vincent and the Grenadines.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Saint Vincent and the Grenadines"
}, {
"code": "WS",
"dial_code": "+685",
"flag": "Samoa.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Samoa"
}, {
"code": "SM",
"dial_code": "+378",
"flag": "San Marino.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "San Marino"
}, {
"code": "ST",
"dial_code": "+239",
"flag": "Sao Tome and Principe.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Sao Tome and Principe"
}, {
"code": "SA",
"dial_code": "+966",
"flag": "Saudi Arabia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Saudi Arabia"
}, {
"code": "SN",
"dial_code": "+221",
"flag": "Senegal.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Senegal"
}, {
"code": "RS",
"dial_code": "+381",
"flag": "Serbia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Serbia"
}, {
"code": "SC",
"dial_code": "+248",
"flag": "Seychelles.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Seychelles"
}, {
"code": "SL",
"dial_code": "+232",
"flag": "Sierra Leone.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Sierra Leone"
}, {
"code": "SG",
"dial_code": "+65",
"flag": "Singapore.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Singapore"
}, {
"code": "SK",
"dial_code": "+421",
"flag": "Slovakia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Slovakia"
}, {
"code": "SI",
"dial_code": "+386",
"flag": "Slovenia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Slovenia"
}, {
"code": "SB",
"dial_code": "+677",
"flag": "Solomon Islands.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Solomon Islands"
}, {
"code": "SO",
"dial_code": "+252",
"flag": "Somalia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Somalia"
}, {
"code": "ZA",
"dial_code": "+27",
"flag": "South Africa.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "South Africa"
}, {
"code": "GS",
"dial_code": "+500",
"flag": "South Georgia and the South Sandwich Islands.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "South Georgia and the South Sandwich Islands"
}, {
"code": "ES",
"dial_code": "+34",
"flag": "Spain.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Spain"
}, {
"code": "LK",
"dial_code": "+94",
"flag": "Sri Lanka.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Sri Lanka"
}, {
"code": "SD",
"dial_code": "+249",
"flag": "Sudan.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Sudan"
}, {
"code": "SR",
"dial_code": "+597",
"flag": "Suriname.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Suriname"
}, {
"code": "SJ",
"dial_code": "+47",
"flag": "Svalbard and Jan Mayen.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Svalbard and Jan Mayen"
}, {
"code": "SZ",
"dial_code": "+268",
"flag": "Swaziland.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Swaziland"
}, {
"code": "SE",
"dial_code": "+46",
"flag": "Sweden.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Sweden"
}, {
"code": "CH",
"dial_code": "+41",
"flag": "Switzerland.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Switzerland"
}, {
"code": "SY",
"dial_code": "+963",
"flag": "Syrian Arab Republic.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Syrian Arab Republic"
}, {
"code": "TW",
"dial_code": "+886",
"flag": "Taiwan, Province of China.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Taiwan, Province of China"
}, {
"code": "TJ",
"dial_code": "+992",
"flag": "Tajikistan.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Tajikistan"
}, {
"code": "TZ",
"dial_code": "+255",
"flag": "Tanzania, United Republic of.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Tanzania, United Republic of"
}, {
"code": "TH",
"dial_code": "+66",
"flag": "Thailand.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Thailand"
}, {
"code": "TL",
"dial_code": "+670",
"flag": "Timor-Leste.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Timor-Leste"
}, {
"code": "TG",
"dial_code": "+228",
"flag": "Togo.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Togo"
}, {
"code": "TK",
"dial_code": "+690",
"flag": "Tokelau.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Tokelau"
}, {
"code": "TO",
"dial_code": "+676",
"flag": "Tonga.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Tonga"
}, {
"code": "TT",
"dial_code": "+1 868",
"flag": "Trinidad and Tobago.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Trinidad and Tobago"
}, {
"code": "TN",
"dial_code": "+216",
"flag": "Tunisia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Tunisia"
}, {
"code": "TR",
"dial_code": "+90",
"flag": "Turkey.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Turkey"
}, {
"code": "TM",
"dial_code": "+993",
"flag": "Turkmenistan.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Turkmenistan"
}, {
"code": "TC",
"dial_code": "+1 649",
"flag": "Turks and Caicos Islands.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Turks and Caicos Islands"
}, {
"code": "TV",
"dial_code": "+688",
"flag": "Tuvalu.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Tuvalu"
}, {
"code": "UG",
"dial_code": "+256",
"flag": "Uganda.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Uganda"
}, {
"code": "UA",
"dial_code": "+380",
"flag": "Ukraine.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Ukraine"
}, {
"code": "AE",
"dial_code": "+971",
"flag": "United Arab Emirates.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "United Arab Emirates"
}, {
"code": "GB",
"dial_code": "+44",
"flag": "United Kingdom.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "United Kingdom"
}, {
"code": "US",
"dial_code": "+1",
"flag": "United States.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "United States"
}, {
"code": "UY",
"dial_code": "+598",
"flag": "Uruguay.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Uruguay"
}, {
"code": "UZ",
"dial_code": "+998",
"flag": "Uzbekistan.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Uzbekistan"
}, {
"code": "VU",
"dial_code": "+678",
"flag": "Vanuatu.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Vanuatu"
}, {
"code": "VE",
"dial_code": "+58",
"flag": "Venezuela, Bolivarian Republic of.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Venezuela, Bolivarian Republic of"
}, {
"code": "VN",
"dial_code": "+84",
"flag": "Vietnam.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Vietnam"
}, {
"code": "VG",
"dial_code": "+1 284",
"flag": "Virgin Islands, British.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Virgin Islands, British"
}, {
"code": "VI",
"dial_code": "+1 340",
"flag": "Virgin Islands, U.S.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Virgin Islands, U.S."
}, {
"code": "WF",
"dial_code": "+681",
"flag": "Wallis and Futuna.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Wallis and Futuna"
}, {
"code": "YE",
"dial_code": "+967",
"flag": "Yemen.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Yemen"
}, {
"code": "ZM",
"dial_code": "+260",
"flag": "Zambia.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Zambia"
}, {
"code": "ZW",
"dial_code": "+263",
"flag": "israel.png",
"phoneMask": "\\((\\d{2})\\) (\\d{4})-(\\d{4})",
"name": "Zimbabwe"
}]
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@nobre84 that's how we recommend. The problem is that we couldn't find a solution to read the text from right to left. You would have the same problem with currency, but the NSNumberCurrencyFormatter solves that problem
You should override the `textField:shouldChangeCharactersInRange:replacementString:, check the number of characters in the string and change the mask to accordingly.
Something like this:
Don't forget setting
textField.delegate = self;
on yourviewDidLoad
.