You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			285 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			JavaScript
		
	
		
		
			
		
	
	
			285 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			JavaScript
		
	
| 
											11 years ago
										 | /* | ||
|  |  * This file extends the libphonenumber object with a set of phonenumbery | ||
|  |  * utility functions. libphonenumber must be included before you call these | ||
|  |  * functions, but the order of the files/script-tags doesn't matter. | ||
|  |  */ | ||
|  | ;(function() { | ||
|  |   "use strict"; | ||
|  | 
 | ||
|  |   window.libphonenumber = window.libphonenumber || {}; | ||
|  |   window.libphonenumber.util = { | ||
|  |     getRegionCodeForNumber: function(number) { | ||
|  |       try { | ||
|  |         var parsedNumber = libphonenumber.parse(number); | ||
|  |         return libphonenumber.getRegionCodeForNumber(parsedNumber); | ||
|  |       } catch(e) { | ||
|  |         return "ZZ"; | ||
|  |       } | ||
|  |     }, | ||
|  | 
 | ||
|  |     getCountryCode: function(regionCode) { | ||
|  |       var cc = libphonenumber.getCountryCodeForRegion(regionCode); | ||
|  |       return (cc != 0) ? cc : ""; | ||
|  |     }, | ||
|  | 
 | ||
|  |     verifyNumber: function(number, regionCode) { | ||
|  |       var parsedNumber = libphonenumber.parse(number, regionCode); | ||
|  | 
 | ||
|  |       if(!regionCode || regionCode == 'ZZ') { | ||
|  |         regionCode = libphonenumber.getRegionCodeForNumber(parsedNumber); | ||
|  |       } | ||
|  | 
 | ||
|  |       var isValidNumber = libphonenumber.isValidNumber(parsedNumber); | ||
|  |       var isValidNumberForRegion = libphonenumber.isValidNumberForRegion(parsedNumber, regionCode); | ||
|  | 
 | ||
|  |       if (isValidNumber && isValidNumberForRegion) { | ||
|  |         return libphonenumber.format(parsedNumber, libphonenumber.PhoneNumberFormat.E164); | ||
|  |       } else { | ||
|  |         throw new Error("The number seems not to be valid."); | ||
|  |       } | ||
|  |     }, | ||
|  | 
 | ||
|  |     getAllRegionCodes: function() { | ||
|  |       return { | ||
|  |         "AD":"Andorra", | ||
|  |         "AE":"United Arab Emirates", | ||
|  |         "AF":"Afghanistan", | ||
|  |         "AG":"Antigua and Barbuda", | ||
|  |         "AI":"Anguilla", | ||
|  |         "AL":"Albania", | ||
|  |         "AM":"Armenia", | ||
|  |         "AO":"Angola", | ||
|  |         "AR":"Argentina", | ||
|  |         "AS":"AmericanSamoa", | ||
|  |         "AT":"Austria", | ||
|  |         "AU":"Australia", | ||
|  |         "AW":"Aruba", | ||
|  |         "AX":"Åland Islands", | ||
|  |         "AZ":"Azerbaijan", | ||
|  |         "BA":"Bosnia and Herzegovina", | ||
|  |         "BB":"Barbados", | ||
|  |         "BD":"Bangladesh", | ||
|  |         "BE":"Belgium", | ||
|  |         "BF":"Burkina Faso", | ||
|  |         "BG":"Bulgaria", | ||
|  |         "BH":"Bahrain", | ||
|  |         "BI":"Burundi", | ||
|  |         "BJ":"Benin", | ||
|  |         "BL":"Saint Barthélemy", | ||
|  |         "BM":"Bermuda", | ||
|  |         "BN":"Brunei Darussalam", | ||
|  |         "BO":"Bolivia, Plurinational State of", | ||
|  |         "BR":"Brazil", | ||
|  |         "BS":"Bahamas", | ||
|  |         "BT":"Bhutan", | ||
|  |         "BW":"Botswana", | ||
|  |         "BY":"Belarus", | ||
|  |         "BZ":"Belize", | ||
|  |         "CA":"Canada", | ||
|  |         "CC":"Cocos (Keeling) Islands", | ||
|  |         "CD":"Congo, The Democratic Republic of the", | ||
|  |         "CF":"Central African Republic", | ||
|  |         "CG":"Congo", | ||
|  |         "CH":"Switzerland", | ||
|  |         "CI":"Cote d'Ivoire", | ||
|  |         "CK":"Cook Islands", | ||
|  |         "CL":"Chile", | ||
|  |         "CM":"Cameroon", | ||
|  |         "CN":"China", | ||
|  |         "CO":"Colombia", | ||
|  |         "CR":"Costa Rica", | ||
|  |         "CU":"Cuba", | ||
|  |         "CV":"Cape Verde", | ||
|  |         "CX":"Christmas Island", | ||
|  |         "CY":"Cyprus", | ||
|  |         "CZ":"Czech Republic", | ||
|  |         "DE":"Germany", | ||
|  |         "DJ":"Djibouti", | ||
|  |         "DK":"Denmark", | ||
|  |         "DM":"Dominica", | ||
|  |         "DO":"Dominican Republic", | ||
|  |         "DZ":"Algeria", | ||
|  |         "EC":"Ecuador", | ||
|  |         "EE":"Estonia", | ||
|  |         "EG":"Egypt", | ||
|  |         "ER":"Eritrea", | ||
|  |         "ES":"Spain", | ||
|  |         "ET":"Ethiopia", | ||
|  |         "FI":"Finland", | ||
|  |         "FJ":"Fiji", | ||
|  |         "FK":"Falkland Islands (Malvinas)", | ||
|  |         "FM":"Micronesia, Federated States of", | ||
|  |         "FO":"Faroe Islands", | ||
|  |         "FR":"France", | ||
|  |         "GA":"Gabon", | ||
|  |         "GB":"United Kingdom", | ||
|  |         "GD":"Grenada", | ||
|  |         "GE":"Georgia", | ||
|  |         "GF":"French Guiana", | ||
|  |         "GG":"Guernsey", | ||
|  |         "GH":"Ghana", | ||
|  |         "GI":"Gibraltar", | ||
|  |         "GL":"Greenland", | ||
|  |         "GM":"Gambia", | ||
|  |         "GN":"Guinea", | ||
|  |         "GP":"Guadeloupe", | ||
|  |         "GQ":"Equatorial Guinea", | ||
|  |         "GR":"Ελλάδα", | ||
|  |         "GT":"Guatemala", | ||
|  |         "GU":"Guam", | ||
|  |         "GW":"Guinea-Bissau", | ||
|  |         "GY":"Guyana", | ||
|  |         "HK":"Hong Kong", | ||
|  |         "HN":"Honduras", | ||
|  |         "HR":"Croatia", | ||
|  |         "HT":"Haiti", | ||
|  |         "HU":"Magyarország", | ||
|  |         "ID":"Indonesia", | ||
|  |         "IE":"Ireland", | ||
|  |         "IL":"Israel", | ||
|  |         "IM":"Isle of Man", | ||
|  |         "IN":"India", | ||
|  |         "IO":"British Indian Ocean Territory", | ||
|  |         "IQ":"Iraq", | ||
|  |         "IR":"Iran, Islamic Republic of", | ||
|  |         "IS":"Iceland", | ||
|  |         "IT":"Italy", | ||
|  |         "JE":"Jersey", | ||
|  |         "JM":"Jamaica", | ||
|  |         "JO":"Jordan", | ||
|  |         "JP":"Japan", | ||
|  |         "KE":"Kenya", | ||
|  |         "KG":"Kyrgyzstan", | ||
|  |         "KH":"Cambodia", | ||
|  |         "KI":"Kiribati", | ||
|  |         "KM":"Comoros", | ||
|  |         "KN":"Saint Kitts and Nevis", | ||
|  |         "KP":"Korea, Democratic People's Republic of", | ||
|  |         "KR":"Korea, Republic of", | ||
|  |         "KW":"Kuwait", | ||
|  |         "KY":"Cayman Islands", | ||
|  |         "KZ":"Kazakhstan", | ||
|  |         "LA":"Lao People's Democratic Republic", | ||
|  |         "LB":"Lebanon", | ||
|  |         "LC":"Saint Lucia", | ||
|  |         "LI":"Liechtenstein", | ||
|  |         "LK":"Sri Lanka", | ||
|  |         "LR":"Liberia", | ||
|  |         "LS":"Lesotho", | ||
|  |         "LT":"Lithuania", | ||
|  |         "LU":"Luxembourg", | ||
|  |         "LV":"Latvia", | ||
|  |         "LY":"Libyan Arab Jamahiriya", | ||
|  |         "MA":"Morocco", | ||
|  |         "MC":"Monaco", | ||
|  |         "MD":"Moldova, Republic of", | ||
|  |         "ME":"Црна Гора", | ||
|  |         "MF":"Saint Martin", | ||
|  |         "MG":"Madagascar", | ||
|  |         "MH":"Marshall Islands", | ||
|  |         "MK":"Macedonia, The Former Yugoslav Republic of", | ||
|  |         "ML":"Mali", | ||
|  |         "MM":"Myanmar", | ||
|  |         "MN":"Mongolia", | ||
|  |         "MO":"Macao", | ||
|  |         "MP":"Northern Mariana Islands", | ||
|  |         "MQ":"Martinique", | ||
|  |         "MR":"Mauritania", | ||
|  |         "MS":"Montserrat", | ||
|  |         "MT":"Malta", | ||
|  |         "MU":"Mauritius", | ||
|  |         "MV":"Maldives", | ||
|  |         "MW":"Malawi", | ||
|  |         "MX":"Mexico", | ||
|  |         "MY":"Malaysia", | ||
|  |         "MZ":"Mozambique", | ||
|  |         "NA":"Namibia", | ||
|  |         "NC":"New Caledonia", | ||
|  |         "NE":"Niger", | ||
|  |         "NF":"Norfolk Island", | ||
|  |         "NG":"Nigeria", | ||
|  |         "NI":"Nicaragua", | ||
|  |         "NL":"Netherlands", | ||
|  |         "NO":"Norway", | ||
|  |         "NP":"Nepal", | ||
|  |         "NR":"Nauru", | ||
|  |         "NU":"Niue", | ||
|  |         "NZ":"New Zealand", | ||
|  |         "OM":"Oman", | ||
|  |         "PA":"Panama", | ||
|  |         "PE":"Peru", | ||
|  |         "PF":"French Polynesia", | ||
|  |         "PG":"Papua New Guinea", | ||
|  |         "PH":"Philippines", | ||
|  |         "PK":"Pakistan", | ||
|  |         "PL":"Polska", | ||
|  |         "PM":"Saint Pierre and Miquelon", | ||
|  |         "PR":"Puerto Rico", | ||
|  |         "PS":"Palestinian Territory, Occupied", | ||
|  |         "PT":"Portugal", | ||
|  |         "PW":"Palau", | ||
|  |         "PY":"Paraguay", | ||
|  |         "QA":"Qatar", | ||
|  |         "RE":"Réunion", | ||
|  |         "RO":"Romania", | ||
|  |         "RS":"Србија", | ||
|  |         "RU":"Russia", | ||
|  |         "RW":"Rwanda", | ||
|  |         "SA":"Saudi Arabia", | ||
|  |         "SB":"Solomon Islands", | ||
|  |         "SC":"Seychelles", | ||
|  |         "SD":"Sudan", | ||
|  |         "SE":"Sweden", | ||
|  |         "SG":"Singapore", | ||
|  |         "SH":"Saint Helena, Ascension and Tristan Da Cunha", | ||
|  |         "SI":"Slovenia", | ||
|  |         "SJ":"Svalbard and Jan Mayen", | ||
|  |         "SK":"Slovakia", | ||
|  |         "SL":"Sierra Leone", | ||
|  |         "SM":"San Marino", | ||
|  |         "SN":"Senegal", | ||
|  |         "SO":"Somalia", | ||
|  |         "SR":"Suriname", | ||
|  |         "ST":"Sao Tome and Principe", | ||
|  |         "SV":"El Salvador", | ||
|  |         "SY":"Syrian Arab Republic", | ||
|  |         "SZ":"Swaziland", | ||
|  |         "TC":"Turks and Caicos Islands", | ||
|  |         "TD":"Chad", | ||
|  |         "TG":"Togo", | ||
|  |         "TH":"Thailand", | ||
|  |         "TJ":"Tajikistan", | ||
|  |         "TK":"Tokelau", | ||
|  |         "TL":"Timor-Leste", | ||
|  |         "TM":"Turkmenistan", | ||
|  |         "TN":"Tunisia", | ||
|  |         "TO":"Tonga", | ||
|  |         "TR":"Turkey", | ||
|  |         "TT":"Trinidad and Tobago", | ||
|  |         "TV":"Tuvalu", | ||
|  |         "TW":"Taiwan, Province of China", | ||
|  |         "TZ":"Tanzania, United Republic of", | ||
|  |         "UA":"Ukraine", | ||
|  |         "UG":"Uganda", | ||
|  |         "US":"United States", | ||
|  |         "UY":"Uruguay", | ||
|  |         "UZ":"Uzbekistan", | ||
|  |         "VA":"Holy See (Vatican City State)", | ||
|  |         "VC":"Saint Vincent and the Grenadines", | ||
|  |         "VE":"Venezuela", | ||
|  |         "VG":"Virgin Islands, British", | ||
|  |         "VI":"Virgin Islands, U.S.", | ||
|  |         "VN":"Viet Nam", | ||
|  |         "VU":"Vanuatu", | ||
|  |         "WF":"Wallis and Futuna", | ||
|  |         "WS":"Samoa", | ||
|  |         "YE":"Yemen", | ||
|  |         "YT":"Mayotte", | ||
|  |         "ZA":"South Africa", | ||
|  |         "ZM":"Zambia", | ||
|  |         "ZW":"Zimbabwe" | ||
|  |       }; | ||
|  |     } // getAllRegionCodes
 | ||
|  |   }; // libphonenumber.util
 | ||
|  | })(); |