simple-phone-mask
Version:
A lightweight and customizable phone number input mask with country flags and selection.
321 lines (320 loc) • 6.08 kB
JavaScript
export const countryData = {
UA: {
name: 'Ukraine',
phoneCode: '+380',
flag: 'https://flagcdn.com/ua.svg',
mask: '(__) ___-__-__',
},
US: {
name: 'United States',
phoneCode: '+1',
flag: 'https://flagcdn.com/us.svg',
mask: '(___) ___-____',
},
GB: {
name: 'United Kingdom',
phoneCode: '+44',
flag: 'https://flagcdn.com/gb.svg',
mask: '____ ______',
},
DE: {
name: 'Germany',
phoneCode: '+49',
flag: 'https://flagcdn.com/de.svg',
mask: '(__) ____ ____',
},
FR: {
name: 'France',
phoneCode: '+33',
flag: 'https://flagcdn.com/fr.svg',
mask: '_ __ __ __ __',
},
PL: {
name: 'Poland',
phoneCode: '+48',
flag: 'https://flagcdn.com/pl.svg',
mask: '___-___-___',
},
IT: {
name: 'Italy',
phoneCode: '+39',
flag: 'https://flagcdn.com/it.svg',
mask: '(___) ____-____',
},
ES: {
name: 'Spain',
phoneCode: '+34',
flag: 'https://flagcdn.com/es.svg',
mask: '(___) ___-___',
},
NL: {
name: 'Netherlands',
phoneCode: '+31',
flag: 'https://flagcdn.com/nl.svg',
mask: '__ ________',
},
CZ: {
name: 'Czech Republic',
phoneCode: '+420',
flag: 'https://flagcdn.com/cz.svg',
mask: '___-___-___',
},
RU: {
name: 'Russia',
phoneCode: '+7',
flag: 'https://flagcdn.com/ru.svg',
mask: '(___) ___-__-__',
},
CN: {
name: 'China',
phoneCode: '+86',
flag: 'https://flagcdn.com/cn.svg',
mask: '(___) ____-____',
},
JP: {
name: 'Japan',
phoneCode: '+81',
flag: 'https://flagcdn.com/jp.svg',
mask: '(__) ____-____',
},
KR: {
name: 'South Korea',
phoneCode: '+82',
flag: 'https://flagcdn.com/kr.svg',
mask: '(__) ____-____',
},
IN: {
name: 'India',
phoneCode: '+91',
flag: 'https://flagcdn.com/in.svg',
mask: '(___) ___-____',
},
BR: {
name: 'Brazil',
phoneCode: '+55',
flag: 'https://flagcdn.com/br.svg',
mask: '(___) ____-____',
},
MX: {
name: 'Mexico',
phoneCode: '+52',
flag: 'https://flagcdn.com/mx.svg',
mask: '(___) ___-____',
},
AU: {
name: 'Australia',
phoneCode: '+61',
flag: 'https://flagcdn.com/au.svg',
mask: '_ ____ ____',
},
NZ: {
name: 'New Zealand',
phoneCode: '+64',
flag: 'https://flagcdn.com/nz.svg',
mask: '_ ___ ____',
},
CA: {
name: 'Canada',
phoneCode: '+1',
flag: 'https://flagcdn.com/ca.svg',
mask: '(___) ___-____',
},
IE: {
name: 'Ireland',
phoneCode: '+353',
flag: 'https://flagcdn.com/ie.svg',
mask: '(__) ___-____',
},
SE: {
name: 'Sweden',
phoneCode: '+46',
flag: 'https://flagcdn.com/se.svg',
mask: '(__) ___-____',
},
NO: {
name: 'Norway',
phoneCode: '+47',
flag: 'https://flagcdn.com/no.svg',
mask: '__ __ __ __',
},
DK: {
name: 'Denmark',
phoneCode: '+45',
flag: 'https://flagcdn.com/dk.svg',
mask: '__ __ __ __',
},
FI: {
name: 'Finland',
phoneCode: '+358',
flag: 'https://flagcdn.com/fi.svg',
mask: '(__) ___-____',
},
AT: {
name: 'Austria',
phoneCode: '+43',
flag: 'https://flagcdn.com/at.svg',
mask: '(__) ___-____',
},
CH: {
name: 'Switzerland',
phoneCode: '+41',
flag: 'https://flagcdn.com/ch.svg',
mask: '(__) ___-____',
},
BE: {
name: 'Belgium',
phoneCode: '+32',
flag: 'https://flagcdn.com/be.svg',
mask: '(__) ___-____',
},
PT: {
name: 'Portugal',
phoneCode: '+351',
flag: 'https://flagcdn.com/pt.svg',
mask: '___-___-___',
},
GR: {
name: 'Greece',
phoneCode: '+30',
flag: 'https://flagcdn.com/gr.svg',
mask: '(___) ___-____',
},
HU: {
name: 'Hungary',
phoneCode: '+36',
flag: 'https://flagcdn.com/hu.svg',
mask: '(__) ___-____',
},
RO: {
name: 'Romania',
phoneCode: '+40',
flag: 'https://flagcdn.com/ro.svg',
mask: '(__) ___-____',
},
BG: {
name: 'Bulgaria',
phoneCode: '+359',
flag: 'https://flagcdn.com/bg.svg',
mask: '(__) ___-____',
},
HR: {
name: 'Croatia',
phoneCode: '+385',
flag: 'https://flagcdn.com/hr.svg',
mask: '(__) ___-____',
},
RS: {
name: 'Serbia',
phoneCode: '+381',
flag: 'https://flagcdn.com/rs.svg',
mask: '(__) ___-____',
},
SK: {
name: 'Slovakia',
phoneCode: '+421',
flag: 'https://flagcdn.com/sk.svg',
mask: '(__) ___-____',
},
SI: {
name: 'Slovenia',
phoneCode: '+386',
flag: 'https://flagcdn.com/si.svg',
mask: '(__) ___-____',
},
IL: {
name: 'Israel',
phoneCode: '+972',
flag: 'https://flagcdn.com/il.svg',
mask: '___-___-____',
},
TR: {
name: 'Turkey',
phoneCode: '+90',
flag: 'https://flagcdn.com/tr.svg',
mask: '(___) ___-____',
},
AE: {
name: 'United Arab Emirates',
phoneCode: '+971',
flag: 'https://flagcdn.com/ae.svg',
mask: '(__) ___-____',
},
SA: {
name: 'Saudi Arabia',
phoneCode: '+966',
flag: 'https://flagcdn.com/sa.svg',
mask: '(__) ___-____',
},
EG: {
name: 'Egypt',
phoneCode: '+20',
flag: 'https://flagcdn.com/eg.svg',
mask: '(___) ___-____',
},
ZA: {
name: 'South Africa',
phoneCode: '+27',
flag: 'https://flagcdn.com/za.svg',
mask: '(__) ___-____',
},
SG: {
name: 'Singapore',
phoneCode: '+65',
flag: 'https://flagcdn.com/sg.svg',
mask: '____-____',
},
MY: {
name: 'Malaysia',
phoneCode: '+60',
flag: 'https://flagcdn.com/my.svg',
mask: '(__) ___-____',
},
TH: {
name: 'Thailand',
phoneCode: '+66',
flag: 'https://flagcdn.com/th.svg',
mask: '(__) ___-____',
},
VN: {
name: 'Vietnam',
phoneCode: '+84',
flag: 'https://flagcdn.com/vn.svg',
mask: '(___) ____-___',
},
PH: {
name: 'Philippines',
phoneCode: '+63',
flag: 'https://flagcdn.com/ph.svg',
mask: '(___) ___-____',
},
ID: {
name: 'Indonesia',
phoneCode: '+62',
flag: 'https://flagcdn.com/id.svg',
mask: '(___) ___-____',
},
AR: {
name: 'Argentina',
phoneCode: '+54',
flag: 'https://flagcdn.com/ar.svg',
mask: '(___) ___-____',
},
CL: {
name: 'Chile',
phoneCode: '+56',
flag: 'https://flagcdn.com/cl.svg',
mask: '(__) ___-____',
},
CO: {
name: 'Colombia',
phoneCode: '+57',
flag: 'https://flagcdn.com/co.svg',
mask: '(___) ___-____',
},
PE: {
name: 'Peru',
phoneCode: '+51',
flag: 'https://flagcdn.com/pe.svg',
mask: '(___) ___-____',
},
};