Browse Source

JS update corresponding to r67 (java). Contributed by tronikos.

pull/567/head
Lara Scheidegger 15 years ago
committed by Mihaela Rosca
parent
commit
d32be31be4
8 changed files with 965 additions and 553 deletions
  1. +1
    -1
      javascript/README
  2. +107
    -88
      javascript/i18n/phonenumbers/asyoutypeformatter.js
  3. +1
    -1
      javascript/i18n/phonenumbers/asyoutypeformatter_test.js
  4. +1
    -1
      javascript/i18n/phonenumbers/demo.html
  5. +233
    -172
      javascript/i18n/phonenumbers/metadata.js
  6. +232
    -171
      javascript/i18n/phonenumbers/metadatalite.js
  7. +291
    -112
      javascript/i18n/phonenumbers/phonenumberutil.js
  8. +99
    -7
      javascript/i18n/phonenumbers/phonenumberutil_test.js

+ 1
- 1
javascript/README View File

@ -25,7 +25,7 @@ pages with your web browser:
How to update:
==============
The JavaScript library is ported from the Java implementation (revision 62).
The JavaScript library is ported from the Java implementation (revision 67).
When the Java project gets updated follow these steps to update the JavaScript
project:


+ 107
- 88
javascript/i18n/phonenumbers/asyoutypeformatter.js View File

@ -44,6 +44,8 @@ goog.require('i18n.phonenumbers.PhoneNumberDesc');
goog.require('i18n.phonenumbers.PhoneNumberUtil');
goog.require('i18n.phonenumbers.metadata');
/**
* Constructs a light-weight formatter which does no formatting, but outputs
* exactly what is fed into the inputDigit method.
@ -95,7 +97,6 @@ i18n.phonenumbers.AsYouTypeFormatter = function(regionCode) {
* @private
*/
this.digitPattern_ = new RegExp(this.digitPlaceholder_);
/**
* @type {string}
* @private
@ -179,9 +180,8 @@ i18n.phonenumbers.AsYouTypeFormatter = function(regionCode) {
* @private
*/
this.possibleFormats_ = [];
/**
* @type {string}
* @type {string}
* @private
*/
this.defaultCountry_ = regionCode;
@ -193,12 +193,13 @@ i18n.phonenumbers.AsYouTypeFormatter = function(regionCode) {
this.defaultMetaData_ = this.currentMetaData_;
};
/**
* @param {string} regionCode
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.initializeCountrySpecificInfo_ =
function(regionCode) {
function(regionCode) {
/** @type {i18n.phonenumbers.PhoneMetadata} */
this.currentMetaData_ = this.phoneUtil_.getMetadataForRegion(regionCode);
@ -210,13 +211,14 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.initializeCountrySpecificInfo_ =
this.currentMetaData_.getInternationalPrefix() + ')');
};
/**
* @return {boolean} true if a new template is created as opposed to reusing the
* existing template.
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.maybeCreateNewTemplate_ =
function() {
function() {
// When there are multiple available formats, the formatter uses the first
// format where a formatting template could be created.
@ -239,12 +241,13 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.maybeCreateNewTemplate_ =
return false;
};
/**
* @param {string} leadingThreeDigits
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.getAvailableFormats_ =
function(leadingThreeDigits) {
function(leadingThreeDigits) {
/** @type {Array.<i18n.phonenumbers.NumberFormat>} */
var formatList = (this.isInternationalFormatting_ && this.currentMetaData_
@ -254,12 +257,13 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.getAvailableFormats_ =
this.narrowDownPossibleFormats_(leadingThreeDigits);
};
/**
* @param {string} leadingDigits
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.narrowDownPossibleFormats_ =
function(leadingDigits) {
function(leadingDigits) {
/** @type {Array.<i18n.phonenumbers.NumberFormat>} */
var possibleFormats = [];
@ -289,13 +293,14 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.narrowDownPossibleFormats_ =
this.possibleFormats_ = possibleFormats;
};
/**
* @param {i18n.phonenumbers.NumberFormat} format
* @return {boolean}
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.createFormattingTemplate_ =
function(format) {
function(format) {
/** @type {string} */
var numberFormat = format.getFormatOrDefault();
@ -319,6 +324,7 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.createFormattingTemplate_ =
return true;
};
/**
* Gets a formatting template which could be used to efficiently format a
* partial number where digits are added one by one.
@ -329,7 +335,7 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.createFormattingTemplate_ =
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.getFormattingTemplate_ =
function(numberPattern, numberFormat) {
function(numberPattern, numberFormat) {
// Creates a phone number consisting only of the digit 9 that matches the
// numberPattern by applying the pattern to the longestPhoneNumber string.
@ -349,6 +355,7 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.getFormattingTemplate_ =
return template;
};
/**
* Clears the internal state of the formatter, so it could be reused.
*/
@ -372,6 +379,7 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.clear = function() {
}
};
/**
* Formats a phone number on-the-fly as each digit is entered.
*
@ -385,6 +393,7 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.inputDigit = function(nextChar) {
return this.currentOutput_;
};
/**
* Same as inputDigit, but remembers the position where nextChar is inserted, so
* that it could be retrieved later by using getRememberedPosition(). The
@ -395,13 +404,14 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.inputDigit = function(nextChar) {
* @return {string}
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.inputDigitAndRememberPosition =
function(nextChar) {
function(nextChar) {
this.currentOutput_ =
this.inputDigitWithOptionToRememberPosition_(nextChar, true);
return this.currentOutput_;
};
/**
* @param {string} nextChar
* @param {boolean} rememberPosition
@ -433,67 +443,68 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.
// digits (the plus sign is counted as a digit as well for this purpose) have
// been entered.
switch (this.accruedInputWithoutFormatting_.getLength()) {
case 0: // this is the case where the first few inputs are neither digits nor
// the plus sign.
case 1:
case 2:
return this.accruedInput_.toString();
case 3:
if (this.attemptToExtractIdd_()) {
this.isExpectingCountryCode_ = true;
} else {
// No IDD or plus sign is found, must be entering in national format.
this.removeNationalPrefixFromNationalNumber_();
return this.attemptToChooseFormattingPattern_();
}
case 4:
case 5:
if (this.isExpectingCountryCode_) {
if (this.attemptToExtractCountryCode_()) {
this.isExpectingCountryCode_ = false;
}
return this.prefixBeforeNationalNumber_.toString() +
this.nationalNumber_.toString();
}
// We make a last attempt to extract a country code at the 6th digit because
// the maximum length of IDD and country code are both 3.
case 6:
if (this.isExpectingCountryCode_ && !this.attemptToExtractCountryCode_()) {
this.ableToFormat_ = false;
case 0: // when the first few inputs are neither digits nor the plus sign.
case 1:
case 2:
return this.accruedInput_.toString();
}
default:
if (this.possibleFormats_.length > 0) {
// The formatting pattern is already chosen.
/** @type {string} */
var tempNationalNumber = this.inputDigitHelper_(nextChar);
// See if the accrued digits can be formatted properly already. If not,
// use the results from inputDigitHelper, which does formatting based on
// the formatting pattern chosen.
/** @type {string} */
var formattedNumber = this.attemptToFormatAccruedDigits_();
if (formattedNumber.length > 0) {
return formattedNumber;
case 3:
if (this.attemptToExtractIdd_()) {
this.isExpectingCountryCode_ = true;
} else {
// No IDD or plus sign is found, must be entering in national format.
this.removeNationalPrefixFromNationalNumber_();
return this.attemptToChooseFormattingPattern_();
}
this.narrowDownPossibleFormats_(this.nationalNumber_.toString());
if (this.maybeCreateNewTemplate_()) {
return this.inputAccruedNationalNumber_();
case 4:
case 5:
if (this.isExpectingCountryCode_) {
if (this.attemptToExtractCountryCode_()) {
this.isExpectingCountryCode_ = false;
}
return this.prefixBeforeNationalNumber_.toString() +
this.nationalNumber_.toString();
}
// We make a last attempt to extract a country code at the 6th digit because
// the maximum length of IDD and country code are both 3.
case 6:
if (this.isExpectingCountryCode_ &&
!this.attemptToExtractCountryCode_()) {
this.ableToFormat_ = false;
return this.accruedInput_.toString();
}
default:
if (this.possibleFormats_.length > 0) {
// The formatting pattern is already chosen.
/** @type {string} */
var tempNationalNumber = this.inputDigitHelper_(nextChar);
// See if the accrued digits can be formatted properly already. If not,
// use the results from inputDigitHelper, which does formatting based on
// the formatting pattern chosen.
/** @type {string} */
var formattedNumber = this.attemptToFormatAccruedDigits_();
if (formattedNumber.length > 0) {
return formattedNumber;
}
this.narrowDownPossibleFormats_(this.nationalNumber_.toString());
if (this.maybeCreateNewTemplate_()) {
return this.inputAccruedNationalNumber_();
}
return this.ableToFormat_ ?
this.prefixBeforeNationalNumber_.toString() + tempNationalNumber :
tempNationalNumber;
} else {
return this.attemptToChooseFormattingPattern_();
}
return this.ableToFormat_ ?
this.prefixBeforeNationalNumber_.toString() + tempNationalNumber :
tempNationalNumber;
} else {
return this.attemptToChooseFormattingPattern_();
}
}
};
/**
* @return {string}
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToFormatAccruedDigits_ =
function() {
function() {
/** @type {string} */
var nationalNumber = this.nationalNumber_.toString();
@ -516,6 +527,7 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToFormatAccruedDigits_ =
return '';
};
/**
* Returns the current position in the partially formatted phone number of the
* character which was previously passed in as the parameter of
@ -524,7 +536,7 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToFormatAccruedDigits_ =
* @return {number}
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.getRememberedPosition =
function() {
function() {
if (!this.ableToFormat_) {
return this.originalPosition_;
@ -553,6 +565,7 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.getRememberedPosition =
return currentOutputIndex;
};
/**
* Attempts to set the formatting template and returns a string which contains
* the formatted version of the digits entered so far.
@ -577,6 +590,7 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.
}
};
/**
* Invokes inputDigitHelper on each digit of the national number accrued, and
* returns a formatted string in the end.
@ -585,7 +599,7 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.inputAccruedNationalNumber_ =
function() {
function() {
/** @type {string} */
var nationalNumber = this.nationalNumber_.toString();
@ -606,11 +620,12 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.inputAccruedNationalNumber_ =
}
};
/**
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.
removeNationalPrefixFromNationalNumber_ = function() {
removeNationalPrefixFromNationalNumber_ = function() {
/** @type {string} */
var nationalNumber = this.nationalNumber_.toString();
@ -638,6 +653,7 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.
this.nationalNumber_.append(nationalNumber.substring(startOfNationalNumber));
};
/**
* Extracts IDD and plus sign to prefixBeforeNationalNumber when they are
* available, and places the remaining input into nationalNumber.
@ -647,7 +663,7 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToExtractIdd_ =
function() {
function() {
/** @type {string} */
var accruedInputWithoutFormatting =
@ -672,6 +688,7 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToExtractIdd_ =
return false;
};
/**
* Extracts country code from the beginning of nationalNumber to
* prefixBeforeNationalNumber when they are available, and places the remaining
@ -681,34 +698,35 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToExtractIdd_ =
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToExtractCountryCode_ =
function() {
function() {
if (this.nationalNumber_.getLength() == 0) {
return false;
}
/** @type {!goog.string.StringBuffer} */
var numberWithoutCountryCode = new goog.string.StringBuffer();
/** @type {number} */
var countryCode = this.phoneUtil_.extractCountryCode(
this.nationalNumber_, numberWithoutCountryCode);
if (countryCode == 0) {
return false;
} else {
this.nationalNumber_.clear();
this.nationalNumber_.append(numberWithoutCountryCode.toString());
/** @type {string} */
var newRegionCode =
this.phoneUtil_.getRegionCodeForCountryCode(countryCode);
if (newRegionCode != this.defaultCountry_) {
this.initializeCountrySpecificInfo_(newRegionCode);
}
/** @type {string} */
var countryCodeString = '' + countryCode;
this.prefixBeforeNationalNumber_.append(countryCodeString).append(' ');
if (this.nationalNumber_.getLength() == 0) {
return false;
}
/** @type {!goog.string.StringBuffer} */
var numberWithoutCountryCode = new goog.string.StringBuffer();
/** @type {number} */
var countryCode = this.phoneUtil_.extractCountryCode(
this.nationalNumber_, numberWithoutCountryCode);
if (countryCode == 0) {
return false;
} else {
this.nationalNumber_.clear();
this.nationalNumber_.append(numberWithoutCountryCode.toString());
/** @type {string} */
var newRegionCode =
this.phoneUtil_.getRegionCodeForCountryCode(countryCode);
if (newRegionCode != this.defaultCountry_) {
this.initializeCountrySpecificInfo_(newRegionCode);
}
/** @type {string} */
var countryCodeString = '' + countryCode;
this.prefixBeforeNationalNumber_.append(countryCodeString).append(' ');
}
return true;
};
/**
* Accrues digits and the plus sign to accruedInputWithoutFormatting for later
* use. If nextChar contains a digit in non-ASCII format (e.g. the full-width
@ -739,13 +757,14 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.
return nextChar;
};
/**
* @param {string} nextChar
* @return {string}
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.inputDigitHelper_ =
function(nextChar) {
function(nextChar) {
/** @type {string} */
var formattingTemplate = this.formattingTemplate_.toString();


+ 1
- 1
javascript/i18n/phonenumbers/asyoutypeformatter_test.js View File

@ -317,7 +317,7 @@ function testAYTFGBFixedLine() {
}
function testAYTFGBTollFree() {
/** @type {i18n.phonenumbers.AsYouTypeFormatter} */
/** @type {i18n.phonenumbers.AsYouTypeFormatter} */
var f = new i18n.phonenumbers.AsYouTypeFormatter('gb');
assertEquals('0', f.inputDigit('0'));
assertEquals('08', f.inputDigit('8'));


+ 1
- 1
javascript/i18n/phonenumbers/demo.html View File

@ -58,7 +58,7 @@ function phoneNumberParser() {
.append(phoneUtil.isPossibleNumber(number));
output.append('\nResult from getNumberType(): ');
var PNT = i18n.phonenumbers.PhoneNumberType;
switch(phoneUtil.getNumberType(number)) {
switch (phoneUtil.getNumberType(number)) {
case PNT.FIXED_LINE:
output.append('FIXED_LINE');
break;


+ 233
- 172
javascript/i18n/phonenumbers/metadata.js View File

@ -329,13 +329,13 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"AM":[,[,,"[1-37-9]\\d{7}","\\d{5,8}"]
,[,,"(?:10\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\d{5}","\\d{5,8}",,,"10123456"]
,[,,"(?:77|9[1-49])\\d{6}","\\d{8}",,,"77123456"]
,[,,"(?:77|9[1-469])\\d{6}","\\d{8}",,,"77123456"]
,[,,"800\\d{5}","\\d{8}",,,"80012345"]
,[,,"90[016]\\d{5}","\\d{8}",,,"90012345"]
,[,,"80[1-4]\\d{5}","\\d{8}",,,"80112345"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"AM",374,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",["[17]|9[1-49]"]
,"AM",374,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",["[17]|9[1-469]"]
,"(0$1)",""]
,[,"(\\d{3})(\\d{5})","$1 $2",["[23]"]
,"(0$1)",""]
@ -583,12 +583,12 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"BH":[,[,,"[1367]\\d{7}","\\d{8}"]
,"BH":[,[,,"[136-9]\\d{7}","\\d{8}"]
,[,,"(?:1(?:3[3-6]|6[0156]|7\\d)|6(?:1[16]|6[03469]|9[69])|77\\d)\\d{5}","\\d{8}",,,"17001234"]
,[,,"(?:3(?:[369]\\d|77|8[38])|6(?:1[16]|6[03469]|9[69])|77\\d)\\d{5}","\\d{8}",,,"36001234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"80\\d{6}","\\d{8}",,,"80123456"]
,[,,"(?:87|9[014578])\\d{6}","\\d{8}",,,"90123456"]
,[,,"84\\d{6}","\\d{8}",,,"84123456"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"BH",973,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",,"",""]
@ -738,15 +738,20 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"BZ":[,[]
,[]
,[]
,"BZ":[,[,,"[2-8]\\d{6}|0\\d{10}","\\d{7}(?:\\d{4})?"]
,[,,"[234578][02]\\d{5}","\\d{7}",,,"2221234"]
,[,,"6(?:[01]\\d|2[0-5]|[67][01])\\d{4}","\\d{7}",,,"6221234"]
,[,,"0800\\d{7}","\\d{11}",,,"08001234123"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"BZ",501,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,"BZ",501,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1-$2",["[2-8]"]
,"",""]
,[,"(0)(800)(\\d{4})(\\d{3})","$1-$2-$3-$4",["0"]
,"",""]
]
,,[,,"NA","NA"]
]
,"CA":[,[,,"[2-9]\\d{9}|3\\d{6}","\\d{7,10}"]
,[,,"(?:2(?:04|26|50|89)|306|4(?:03|16|18|38|50|56)|5(?:00|06|14|19|81|87)|6(?:00|04|13|47)|7(?:00|05|09|10|78|80)|8(?:07|19|67))[2-9]\\d{6}|310\\d{4}","\\d{7,10}",,,"2042345678"]
@ -760,7 +765,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"CD":[,[,,"[89]\\d{8}|[1-6]\\d{6}","\\d{7,9}"]
,[,,"[1-6]\\d{6}","\\d{7}",,,"1234567"]
,[,,"(?:8[0149]|9[7-9])\\d{7}","\\d{9}",,,"991234567"]
,[,,"(?:8[0-2489]|9[7-9])\\d{7}","\\d{9}",,,"991234567"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -785,15 +790,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"CG":[,[,,"[24-68]\\d{6}","\\d{7}"]
,[,,"(?:2[1-589]|8\\d)\\d{5}","\\d{7}",,,"2123456"]
,[,,"[4-6]\\d{6}","\\d{7}",,,"5012345"]
,[,,"NA","NA"]
,"CG":[,[,,"[028]\\d{8}","\\d{9}"]
,[,,"222[1-589]\\d{5}","\\d{9}",,,"222123456"]
,[,,"0[14-6]\\d{7}","\\d{9}",,,"061234567"]
,[,,"800\\d{6}","\\d{9}",,,"800123456"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"CG",242,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
,"CG",242,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[02]"]
,"",""]
,[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["8"]
,"",""]
]
,,[,,"NA","NA"]
]
@ -930,27 +938,37 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"CO",57,"(?:00[579]|#555|#999)","0",,,"0",,,1,,,[,,"NA","NA"]
]
,"CR":[,[,,"[28]\\d{7}","\\d{8}"]
,"CR":[,[,,"[289]\\d{7,9}","\\d{8,10}"]
,[,,"2[24-7]\\d{6}","\\d{8}",,,"22123456"]
,[,,"8[38]\\d{6}","\\d{8}",,,"83123456"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"8[389]\\d{6}","\\d{8}",,,"83123456"]
,[,,"800\\d{7}","\\d{10}",,,"8001234567"]
,[,,"90[059]\\d{7}","\\d{10}",,,"9001234567"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"CR",506,"00",,,,,,,,[[,"([28]\\d{3})(\\d{4})","$1 $2",,"",""]
,"CR",506,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",["2|8[389]"]
,"",""]
,[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[89]0"]
,"",""]
]
,,[,,"NA","NA"]
]
,"CU":[,[]
,[]
,[]
,"CU":[,[,,"[2-57]\\d{5,7}","\\d{4,8}"]
,[,,"(?:2[1-4]\\d{5,6}|3(?:1\\d{6}|[23]\\d{4,6})|4(?:[125]\\d{5,6}|[36]\\d{6}|[78]\\d{4,6})|7\\d{6,7})","\\d{4,8}",,,"71234567"]
,[,,"5\\d{7}","\\d{8}",,,"51234567"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"CU",53,"119","0",,,"0",,,1,,,[,,"NA","NA"]
,"CU",53,"119","0",,,"0",,,,[[,"(\\d)(\\d{6,7})","$1 $2",["7"]
,"(0$1)",""]
,[,"(\\d{2})(\\d{4,6})","$1 $2",["[2-4]"]
,"(0$1)",""]
,[,"(\\d)(\\d{7})","$1 $2",["5"]
,"0$1",""]
]
,,[,,"NA","NA"]
]
,"CV":[,[,,"[259]\\d{6}","\\d{7}"]
,[,,"2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\d|7[1-3]|8[1-5])\\d{4}","\\d{7}",,,"2211234"]
@ -988,9 +1006,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"DE":[,[,,"(?:4[0-8]|[1-35-9]\\d)\\d{4,12}|49(?:4[1-8]|[0-35-7]\\d)\\d{2,7}","\\d{2,14}"]
,[,,"(?:[246]\\d{2}|3[02-9]\\d|5(?:0[2-8]|[38][0-8]|[124-6]\\d|[79][0-7])|[789](?:[1-9]\\d|0[2-9]))\\d{3,10}","\\d{2,14}",,,"30123456"]
,[,,"1(?:5\\d{9}|7(?:[0-57-9]|6\\d)\\d{7}|6[02]\\d{7,8}|63\\d{7})","\\d{10,11}",,,"15123456789"]
,"DE":[,[,,"[1-35-9]\\d{3,13}|4(?:[0-8]\\d{4,12}|9(?:4[1-8]|[0-35-7]\\d)\\d{2,7})","\\d{2,14}"]
,[,,"[246]\\d{5,13}|3(?:[03-9]\\d{4,11}|2\\d{9})|5(?:0[2-8]|[38][0-8]|[124-6]\\d|[79][0-7])\\d{3,10}|7(?:0[2-8]|[1-9]\\d)\\d{3,10}|8(?:0[2-9]|[1-9]\\d)\\d{3,10}|9(?:0[6-9]|[1-9]\\d)\\d{3,10}","\\d{2,14}",,,"30123456"]
,[,,"1(?:5\\d{9}|7(?:[0-57-9]|6\\d)\\d{7}|6(?:[02]\\d{7,8}|3\\d{7}))","\\d{10,11}",,,"15123456789"]
,[,,"800\\d{7,9}","\\d{10,12}",,,"8001234567"]
,[,,"900(?:[135]\\d{6}|9\\d{7})","\\d{10,11}",,,"9001234567"]
,[,,"180\\d{5,11}","\\d{8,14}",,,"18012345"]
@ -1011,17 +1029,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,"(700)(\\d{4})(\\d{4})","$1 $2 $3",["700"]
,"0$1",""]
]
,,[,,"NA","NA"]
,,[,,"16(?:4\\d{1,10}|[89]\\d{1,11})","\\d{4,14}",,,"16412345"]
]
,"DJ":[,[,,"[2-8]\\d{5}","\\d{6}"]
,[,,"(?:25|3[0-6]|42)\\d{4}","\\d{6}",,,"251234"]
,[,,"(?:[5-7]\\d|8[0-7])\\d{4}","\\d{6}",,,"601234"]
,"DJ":[,[,,"[1-8]\\d{5}","\\d{6}"]
,[,,"(?:1[05]|[2-5]\\d)\\d{4}","\\d{6}",,,"251234"]
,[,,"[6-8]\\d{5}","\\d{6}",,,"601234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"DJ",253,"00",,,,,,,,[[,"([2-8]\\d)(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
,"DJ",253,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
]
,,[,,"NA","NA"]
]
@ -1074,29 +1092,45 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"EC":[,[]
,[]
,[]
,"EC":[,[,,"[2-9]\\d{7}|1\\d{9,10}","\\d{7,11}"]
,[,,"[2-7][2-7]\\d{6}","\\d{7,8}",,,"22123456"]
,[,,"[89]\\d{7}","\\d{8}",,,"99123456"]
,[,,"1800\\d{6,7}","\\d{10,11}",,,"18001234567"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"EC",593,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{4})","$1 $2-$3",["[2-7]"]
,"(0$1)",""]
,[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"]
,"0$1",""]
,[,"(1800)(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]
,"$1",""]
]
,[[,"(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-7]"]
,,""]
,[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"]
,,""]
,[,"(1800)(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]
,,""]
]
,[,,"NA","NA"]
,"EC",593,"00","0",,,"0",,,1,,,[,,"NA","NA"]
]
,"EE":[,[,,"[3-9]\\d{6,7}|800\\d{6,7}","\\d{6,10}"]
,[,,"(?:3[23589]|4[3-8]|6\\d|7[1-9]|88)\\d{5}","\\d{7}",,,"3212345"]
,[,,"(?:3[23589]|4(?:0\\d|[3-8])|6\\d|7[1-9]|88)\\d{5}","\\d{7,8}",,,"3212345"]
,[,,"(?:5\\d|8[1-5])\\d{6}|5(?:[02]\\d{2}|1(?:[0-8]\\d|95)|5[0-478]\\d|64[0-4]|65[1-589])\\d{3}","\\d{7,8}",,,"51234567"]
,[,,"800(?:0\\d{3}|1\\d|[2-9])\\d{3}","\\d{7,10}",,,"80012345"]
,[,,"900\\d{4}","\\d{7}",,,"9001234"]
,[,,"NA","NA"]
,[,,"70\\d{5}","\\d{7}",,,"7012345"]
,[,,"70[0-2]?\\d{5}","\\d{7,8}",,,"70012345"]
,[,,"NA","NA"]
,"EE",372,"00",,,,,,,,[[,"([34-79]\\d{2})(\\d{4})","$1 $2",["[34679]|5(?:[0-2]|5[0-478]|6[45])","[34679]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))"]
,"EE",372,"00",,,,,,,,[[,"([34-79]\\d{2})(\\d{4})","$1 $2",["[3679]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])","[3679]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))"]
,"",""]
,[,"(70)(\\d{2})(\\d{4})","$1 $2 $3",["70"]
,"",""]
,[,"(8000)(\\d{3})(\\d{3})","$1 $2 $3",["800","8000"]
,"",""]
,[,"([58]\\d{3})(\\d{3,4})","$1 $2",["5|8(?:00|[1-5])","5|8(?:00[1-9]|[1-5])"]
,[,"([458]\\d{3})(\\d{3,4})","$1 $2",["40|5|8(?:00|[1-5])","40|5|8(?:00[1-9]|[1-5])"]
,"",""]
]
,,[,,"NA","NA"]
@ -1201,15 +1235,15 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"FM",691,"00",,,,,,,1,,,[,,"NA","NA"]
]
,"FO":[,[]
,[]
,[]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"FO":[,[,,"[2-9]\\d{5}","\\d{6}"]
,[,,"(?:20|[3-4]\\d|8[19])\\d{4}","\\d{6}",,,"201234"]
,[,,"(?:2[1-9]|5\\d|7[1-79])\\d{4}","\\d{6}",,,"211234"]
,[,,"80[257-9]\\d{3}","\\d{6}",,,"802123"]
,[,,"90(?:[1345][15-7]|2[125-7]|99)\\d{2}","\\d{6}",,,"901123"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"FO",298,"00",,,,,,,1,,,[,,"NA","NA"]
,[,,"(?:6[0-36]|88)\\d{4}","\\d{6}",,,"601234"]
,"FO",298,"00",,,,"10(?:01|[12]0|88)",,,,,,[,,"NA","NA"]
]
,"FR":[,[,,"[1-9]\\d{8}","\\d{9}"]
,[,,"[1-5]\\d{8}","\\d{9}",,,"123456789"]
@ -1242,7 +1276,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
]
,"GB":[,[,,"\\d{7,10}","\\d{4,10}"]
,[,,"1(?:1[3-8]|[2-69]1)\\d{7}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-4789]|7[013-9]|9\\d)|3(?:0\\d|[25][02-9]|3[02-579]|[468][0-46-9]|7[1235679]|9[24578])|4(?:0[03-9]|2[02-5789]|[37]\\d|4[02-69]|5[0-8]|[69][0-79]|8[02-5789])|5(?:0[1235-9]|2[024-9]|3[015689]|4[02-9]|5[03-9]|6\\d|7[0-35-9]|8[0-468]|9[0-5789])|6(?:0[034689]|2[0-35689]|3[013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|8[013-9]|9[0124578])|7(?:0[0246-9]|2\\d|3[023678]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-5789]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-5789]|4[2-9]|5[0-579]|6[234789]|7[0124578]|8\\d|9[2-57]))\\d{6}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-4789]|8[345])))|3(?:638[2-5]|647[23]|8(?:47[04-9]|64[015789]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[123]))|5(?:24(?:3[2-79]|6\\d)|276\\d|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[567]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|955[0-4])|7(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|84(?:3[2-58]))|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}|176888[234678]\\d{2}|16977[23]\\d{3}|2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[012])\\d{7}|(?:3[0347]|55)\\d{8}","\\d{4,10}",,,"1212345678"]
,[,,"2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[012])\\d{7}|1(?:(?:1(?:3[0-48]|[46][0-4]|5[012789]|7[0-39]|8[01349])|21[0-7]|31[0-8]|[459]1\\d|61[01246-9]))\\d{6}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-4789]|7[013-9]|9\\d)|3(?:0\\d|[25][02-9]|3[02-579]|[468][0-46-9]|7[1235679]|9[24578])|4(?:0[03-9]|[28][02-5789]|[37]\\d|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1235-9]|2[024-9]|3[015689]|4[02-9]|5[03-9]|6\\d|7[0-35-9]|8[0-468]|9[0-5789])|6(?:0[034689]|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0124578])|7(?:0[0246-9]|2\\d|3[023678]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-5789]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-5789]|4[2-9]|5[0-579]|6[234789]|7[0124578]|8\\d|9[2-57]))\\d{6}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-4789]|8[345])))|3(?:638[2-5]|647[23]|8(?:47[04-9]|64[015789]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[123]))|5(?:24(?:3[2-79]|6\\d)|276\\d|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[567]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|955[0-4])|7(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|84(?:3[2-58]))|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}|176888[234678]\\d{2}|16977[23]\\d{3}|(?:3[0347]|55)\\d{8}","\\d{4,10}",,,"1212345678"]
,[,,"7(?:[1-4]\\d\\d|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[04-9]\\d|1[02-9]|2[0135-9]|3[0-689]))\\d{6}","\\d{10}",,,"7400123456"]
,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?",,,"8001234567"]
,[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}",,,"9012345678"]
@ -1335,15 +1369,15 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"GI":[,[]
,[]
,[]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GI":[,[,,"[2568]\\d{7}","\\d{8}"]
,[,,"2(?:00\\d|16[0-7]|22[2457])\\d{4}","\\d{8}",,,"20012345"]
,[,,"(?:5[4-8]|60)\\d{6}","\\d{8}",,,"57123456"]
,[,,"80\\d{6}","\\d{8}",,,"80123456"]
,[,,"8[1-689]\\d{6}","\\d{8}",,,"88123456"]
,[,,"87\\d{6}","\\d{8}",,,"87123456"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GI",350,"00",,,,,,,1,,,[,,"NA","NA"]
,"GI",350,"00",,,,,,,,,,[,,"NA","NA"]
]
,"GL":[,[,,"[1-689]\\d{5}","\\d{6}"]
,[,,"(?:19|3[1-6]|6[14689]|8[14-79]|9\\d)\\d{4}","\\d{6}",,,"321000"]
@ -1371,7 +1405,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"GN":[,[,,"[3567]\\d{7}","\\d{8}"]
,[,,"30(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])\\d{4}","\\d{8}",,,"30241234"]
,[,,"55\\d{6}|6(?:0(?:2\\d|3[3467]|5[2457-9])|[2457]\\d{2}|3(?:[14]0|35))\\d{4}","\\d{8}",,,"60201234"]
,[,,"55\\d{6}|6(?:0(?:2\\d|3[3467]|5[2457-9])|[24578]\\d{2}|3(?:[14]0|35))\\d{4}","\\d{8}",,,"60201234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -1484,15 +1518,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"HN":[,[]
,[]
,[]
,"HN":[,[,,"[237-9]\\d{7}","\\d{8}"]
,[,,"2(?:2(?:0[019]|1[1-36]|[23]\\d|4[056]|5[57]|9[01])|4(?:2|3-59]|3[13-689]|4[0-68]|5[1-35])|5(?:4[3-5]|5\\d|6[56]|74)|6(?:4[0-378]|[56]\\d|[78][0-8]|9[01])|7(?:6[46-9]|7[02-9]|8[34])|8(?:79|8[0-35789]|9[1-57-9]))\\d{4}","\\d{8}",,,"22123456"]
,[,,"[37-9]\\d{7}","\\d{8}",,,"91234567"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"HN",504,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,"HN",504,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1-$2",,"",""]
]
,,[,,"NA","NA"]
]
,"HR":[,[,,"[1-7]\\d{5,8}|[89]\\d{6,11}","\\d{6,12}"]
,[,,"(?:1|6[029])\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\d{6}","\\d{6,9}",,,"12345678"]
@ -1523,19 +1559,21 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"HT":[,[]
,[]
,[]
,"HT":[,[,,"[2-489]\\d{7}","\\d{8}"]
,[,,"2(?:[24]\\d|5[1-5]|94)\\d{5}","\\d{8}",,,"22453300"]
,[,,"(?:3[4-9]|4\\d)\\d{6}","\\d{8}",,,"34101234"]
,[,,"8\\d{7}","\\d{8}",,,"80012345"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"HT",509,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,[,,"98[89]\\d{5}","\\d{8}",,,"98901234"]
,"HT",509,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",,"",""]
]
,,[,,"NA","NA"]
]
,"HU":[,[,,"\\d{8,9}","\\d{6,9}"]
,[,,"(?:1\\d|2(?:1\\d|[2-9])|3[2-7]|4[24-9]|5[2-79]|6[23689]|7(?:1\\d|[2-9])|8[2-57-9]|9[2-69])\\d{6}","\\d{6,9}",,,"12345678"]
,[,,"(?:[237]0|31)\\d{7}","\\d{9}",,,"201234567"]
,[,,"(?:[27]0|3[01])\\d{7}","\\d{9}",,,"201234567"]
,[,,"80\\d{6}","\\d{8}",,,"80123456"]
,[,,"9[01]\\d{6}","\\d{8}",,,"90123456"]
,[,,"40\\d{6}","\\d{8}",,,"40123456"]
@ -1572,8 +1610,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
]
,"IE":[,[,,"[124-9]\\d{6,9}","\\d{5,10}"]
,[,,"1\\d{7,8}|(?:2[24-9]|4(?:0[24]|7)|5(?:0[45]|8)|6[237-9]|9[3-9])\\d{5}|(?:45|[569]1|818)\\d{6}|(?:4[12469]|5[3679]|6[56]|7[14]|9[04])\\d{7}|21\\d{6,7}|(?:23|4[34]|52|64)\\d{5,7}|48\\d{8}","\\d{5,10}",,,"2212345"]
,[,,"8[35-9]\\d{7}","\\d{9}",,,"850123456"]
,[,,"1\\d{7,8}|2(?:1\\d{6,7}|[24-9]\\d{5}|3\\d{5,7})|4(?:0[24]\\d{5}|[1269]\\d{7}|[34]\\d{5,7}|5\\d{6}|7\\d{5}|8[0-46-9]\\d{7})|5(?:0[45]\\d{5}|1\\d{6}|2\\d{5,7}|[3679]\\d{7}|8\\d{5})|6(?:1\\d{6}|4\\d{5,7}|[237-9]\\d{5}|[56]\\d{7})|7[14]\\d{7}|818\\d{6}|9(?:1\\d{6}|[04]\\d{7}|[3-9]\\d{5})","\\d{5,10}",,,"2212345"]
,[,,"8(?:22\\d{6}|[35-9]\\d{7,8})","\\d{9,10}",,,"850123456"]
,[,,"1800\\d{6}","\\d{10}",,,"1800123456"]
,[,,"15(?:1[2-9]|[2-8]0|59|9[089])\\d{6}","\\d{10}",,,"1520123456"]
,[,,"18[59]0\\d{6}","\\d{10}",,,"1850123456"]
@ -1591,7 +1629,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"(0$1)",""]
,[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[24-69]|7[14]"]
,"(0$1)",""]
,[,"([78]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["76|8[35-9]"]
,[,"([78]\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["76|8[35-9]"]
,"0$1",""]
,[,"(700)(\\d{3})(\\d{3})","$1 $2 $3",["70"]
,"0$1",""]
@ -1759,9 +1797,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"JE":[,[,,"[15789]\\d{6,9}","\\d{6,10}"]
,[,,"1534\\d{6}","\\d{6,10}",,,"1534456789"]
,[,,"7(?:509|7(?:00|97)|829|937)\\d{6}","\\d{10}",,,"7797123456"]
,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?",,,"8001234567"]
,[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}",,,"9012345678"]
,[,,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})","\\d{7}(?:\\d{3})?",,,"8431234567"]
,[,,"80(?:07(?:35|81)|8901)\\d{4}","\\d{10}",,,"8007354567"]
,[,,"(?:871206|90(?:066[59]|1810|71(?:07|55)))\\d{4}","\\d{10}",,,"9018105678"]
,[,,"8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|70002)\\d{4}","\\d{10}",,,"8447034567"]
,[,,"701511\\d{4}","\\d{10}",,,"7015115678"]
,[,,"56\\d{8}","\\d{10}",,,"5612345678"]
,"JE",44,"00","0"," x",,"0",,,,,,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}",,,"7640123456"]
@ -1776,15 +1814,15 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"JM",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
,,"876"]
,"JO":[,[,,"[235-9]\\d{7,8}","\\d{7,9}"]
,[,,"[2356][2-8]\\d{6}","\\d{7,8}",,,"62345678"]
,[,,"7(?:4[5-7]|55|7[5-79]|8[5-8]|9[05-9])\\d{6}","\\d{9}",,,"790123456"]
,"JO":[,[,,"[235-9]\\d{7,8}","\\d{8,9}"]
,[,,"[2356][2-8]\\d{6}","\\d{7,8}",,,"62001234"]
,[,,"7(?:[1-8]\\d|9[02-9])\\d{6}","\\d{9}",,,"790123456"]
,[,,"80\\d{6}","\\d{8}",,,"80012345"]
,[,,"90\\d{6}","\\d{8}",,,"90012345"]
,[,,"(?:8[57]\\d|810)\\d{5}","\\d{8}",,,"85012345"]
,[,,"900\\d{5}","\\d{8}",,,"90012345"]
,[,,"8(?:10\\d|5\\d{2}|7(?:[02]0|7[08]|9[09]))\\d{4}","\\d{8}",,,"85012345"]
,[,,"70\\d{7}","\\d{9}",,,"700123456"]
,[,,"NA","NA"]
,"JO",962,"00","0",,,"0",,,,[[,"([2356])(\\d{3})(\\d{4})","$1 $2 $3",["[2356]"]
,"JO",962,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]"]
,"(0$1)",""]
,[,"(7)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["7[457-9]"]
,"0$1",""]
@ -1794,7 +1832,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
]
,"JP":[,[,,"\\d{9,10}","\\d{9,10}"]
,[,,"(?:1[1-9][1-9]|9(?:[3-9][1-9]|2\\d)|(?:[36][1-9]|[24578][2-9])\\d)\\d{6}","\\d{9}",,,"312345678"]
,[,,"(?:1(?:2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-578])|2[2-9]\\d|[36][1-9]\\d|4(?:6[0235-8]|[2-578]\\d|9[2-59])|5(?:6[1-9]|7[2-8]|[2-589]\\d)|7(?:3[4-9]|4[02-9]|[25-9]\\d)|8(?:3[2-9]|4[5-9]|5[1-9]|8[03-9]|[2679]\\d)|9(?:[679][1-9]|[2-58]\\d))\\d{6}","\\d{9}",,,"312345678"]
,[,,"[7-9]0\\d{8}","\\d{10}",,,"7012345678"]
,[,,"120\\d{6}","\\d{9}",,,"120123456"]
,[,,"990\\d{6}","\\d{9}",,,"990123456"]
@ -1993,18 +2031,16 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
]
,"LB":[,[,,"[13-9]\\d{6,7}","\\d{7,8}"]
,[,,"(?:[14-6]\\d|[7-9][2-9])\\d{5}","\\d{7}",,,"1123456"]
,[,,"(?:3\\d|7(?:0\\d|1[167]))\\d{5}","\\d{7,8}",,,"71123456"]
,[,,"(?:[14-6]\\d{2}|7(?:[2-57-9]\\d|62)|[89][2-9]\\d)\\d{4}","\\d{7}",,,"1123456"]
,[,,"(?:3\\d|7(?:[01]\\d|66))\\d{5}","\\d{7,8}",,,"71123456"]
,[,,"NA","NA"]
,[,,"8[01]\\d{6}","\\d{8}",,,"80123456"]
,[,,"9[01]\\d{6}","\\d{8}",,,"90123456"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"LB",961,"00","0",,,"0",,,,[[,"([13-6])(\\d{3})(\\d{3})","$1 $2 $3",["[13-6]"]
,"0$1",""]
,[,"([7-9][01])(\\d{3})(\\d{3})","$1 $2 $3",["[7-9][01]"]
,"LB",961,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[13-6]|7(?:[2-57-9]|62)|[89][2-9]"]
,"0$1",""]
,[,"([7-9][2-9])(\\d{2})(\\d{3})","$1 $2 $3",["[7-9][2-9]"]
,[,"([7-9]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[89][01]|7(?:[01]|66)"]
,"0$1",""]
]
,,[,,"NA","NA"]
@ -2038,25 +2074,30 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"LK":[,[]
,[]
,[]
,"LK":[,[,,"[1-9]\\d{8}","\\d{7,9}"]
,[,,"(?:[189]1|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\\d{6}","\\d{7,9}",,,"112345678"]
,[,,"7[12578]\\d{7}","\\d{9}",,,"712345678"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"LK",94,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,"LK",94,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{1})(\\d{6})","$1 $2 $3",["[1-689]"]
,"0$1",""]
,[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"]
,"0$1",""]
]
,,[,,"NA","NA"]
]
,"LR":[,[,,"(?:[27]\\d|[4-6])\\d{6}","\\d{7,8}"]
,"LR":[,[,,"(?:[279]\\d|[4-6])\\d{6}","\\d{7,8}"]
,[,,"2\\d{7}","\\d{8}",,,"21234567"]
,[,,"(?:4[67]|5\\d|7\\d{2}|6[4-8])\\d{5}","\\d{7,8}",,,"4612345"]
,[,,"NA","NA"]
,[,,"(?:4[67]|5\\d|6[4-8]|7\\d{2})\\d{5}","\\d{7,8}",,,"4612345"]
,[,,"NA","NA"]
,[,,"90\\d{6}","\\d{8}",,,"90123456"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"LR",231,"00","0",,,"0",,,,[[,"([27]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[27]"]
,"LR",231,"00","0",,,"0",,,,[[,"([279]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[279]"]
,"0$1",""]
,[,"([4-6])(\\d{3})(\\d{3})","$1 $2 $3",["[4-6]"]
,"0$1",""]
@ -2125,8 +2166,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"LY",218,"00","0",,,"0",,,1,,,[,,"NA","NA"]
]
,"MA":[,[,,"[5689]\\d{8}","\\d{9}"]
,[,,"5(?:2(?:[015-7]\\d{2}|(?:[28][2-9]|3[2-7]|4[2-8])\\d|9(?:0\\d|[89]0))|3(?:[0-4]\\d{2}|(?:[57][2-9]|6[2-8]|9[3-9])\\d|8(?:0\\d|[89]0)))\\d{4}","\\d{9}",,,"520123456"]
,[,,"6(?:00|33|[15-7]\\d|4[0-8]|99)\\d{6}","\\d{9}",,,"650123456"]
,[,,"5(?:2(?:(?:[015-7]\\d|2[2-9]|3[2-57]|4[2-8]|8[235-9]|)\\d|9(?:0\\d|[89]0))|3(?:(?:[0-4]\\d|[57][2-9]|6[235-8]|9[3-9])\\d|8(?:0\\d|[89]0)))\\d{4}","\\d{9}",,,"520123456"]
,[,,"6(?:0[06]|[14-7]\\d|2[236]|33|99)\\d{6}","\\d{9}",,,"650123456"]
,[,,"80\\d{7}","\\d{9}",,,"801234567"]
,[,,"89\\d{7}","\\d{9}",,,"891234567"]
,[,,"NA","NA"]
@ -2213,8 +2254,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"MH",692,"011","1",,,"1",,,1,,,[,,"NA","NA"]
]
,"MK":[,[,,"[2-578]\\d{7}","\\d{8}"]
,[,,"(?:2\\d|3[1-4]|4[2-8])\\d{6}","\\d{6,8}",,,"22212345"]
,[,,"7\\d{7}","\\d{8}",,,"72345678"]
,[,,"(?:2(?:[23]\\d|5[125]|61)|3(?:1[3-6]|2[2-6]|3[2-5]|4[235])|4(?:[23][2-6]|4[3-6]|5[25]|6[25-8]|7[24-6]|8[4-6]))\\d{5}","\\d{6,8}",,,"22212345"]
,[,,"7[0-25-8]\\d{6}","\\d{8}",,,"72345678"]
,[,,"800\\d{5}","\\d{8}",,,"80012345"]
,[,,"5[02-9]\\d{6}","\\d{8}",,,"50012345"]
,[,,"8(?:0[1-9]|[1-9]\\d)\\d{5}","\\d{8}",,,"80123456"]
@ -2264,21 +2305,23 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"MN":[,[,,"[127-9]\\d{7}","\\d{8}"]
,[,,"(?:[12](?:1\\d|2[1-37]|3[2-8]|4[2-68]|5[1-4689])|70)\\d{6}","\\d{8}",,,"70123456"]
,[,,"(?:88|9[1569])\\d{6}","\\d{8}",,,"88123456"]
,[,,"NA","NA"]
,"MN":[,[,,"[12]\\d{7,9}|[57-9]\\d{7}","\\d{8,10}"]
,[,,"[12](?:1\\d|2(?:[1-3]\\d?|7\\d)|3[2-8]\\d{1,2}|4[2-68]\\d{1,2}|5[1-4689]\\d{1,2})\\d{5}|(?:5[0568]|70)\\d{6}","\\d{8,10}",,,"70123456"]
,[,,"(?:8[89]|9[15689])\\d{6}","\\d{8}",,,"88123456"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"MN",976,"001","0",,,"0",,,,[[,"([127-9]\\d)(\\d{2})(\\d{4})","$1 $2 $3",["[12]1|[7-9]"]
,[,,"7[569]\\d{6}","\\d{8}",,,"75123456"]
,"MN",976,"001","0",,,"0",,,,[[,"([12]\\d)(\\d{2})(\\d{4})","$1 $2 $3",["[12]1"]
,"0$1",""]
,[,"([12]2\\d)(\\d{5})","$1 $2",["[12]2[1-3]"]
,[,"([12]2\\d)(\\d{5,6})","$1 $2",["[12]2[1-3]"]
,"0$1",""]
,[,"([12]\\d{3})(\\d{4})","$1 $2",["[12](?:27|[3-5])","[12](?:27|[3-5]\\d)2"]
,[,"([12]\\d{3})(\\d{5})","$1 $2",["[12](?:27|[3-5])","[12](?:27|[3-5]\\d)2"]
,"0$1",""]
,[,"([12]\\d{4})(\\d{3})","$1 $2",["[12](?:27|[3-5])","[12](?:27|[3-5]\\d)[4-9]"]
,[,"(\\d{4})(\\d{4})","$1 $2",["[57-9]"]
,"$1",""]
,[,"([12]\\d{4})(\\d{4,5})","$1 $2",["[12](?:27|[3-5])","[12](?:27|[3-5]\\d)[4-9]"]
,"0$1",""]
]
,,[,,"NA","NA"]
@ -2315,15 +2358,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"MQ",596,"00","0",,,"0",,,1,,,[,,"NA","NA"]
]
,"MR":[,[,,"[2-7]\\d{6}","\\d{7}"]
,[,,"5(?:1[035]|2[0-69]|3[0348]|4[468]|5[02-467]|6[39]|7[4-69])\\d{4}","\\d{7}",,,"5131234"]
,[,,"(?:[23][0-4]|4[3-5]|6\\d|7[0-7])\\d{5}","\\d{7}",,,"3123456"]
,[,,"NA","NA"]
,"MR":[,[,,"[2-4]\\d{6,7}|[5-7]\\d{6}|8\\d{7}","\\d{7,8}"]
,[,,"5(?:1[035]|2[0-69]|3[0348]|4[468]|5[02-467]|6[39]|7[4-69])\\d{4}|[2-4]5\\d{6}","\\d{7,8}",,,"35123456"]
,[,,"(?:[23][0-4]|4[3-5]|6\\d|7[0-7])\\d{5}|(?:2[27]|3[367]|4[467])\\d{6}","\\d{7,8}",,,"22123456"]
,[,,"800\\d{5}","\\d{8}",,,"80012345"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"MR",222,"00",,,,,,,,[[,"([2-7]\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
,"MR",222,"00",,,,,,,,[[,"([2-48]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-48]"]
,"",""]
,[,"([2-7]\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[2-7]"]
,"",""]
]
,,[,,"NA","NA"]
]
@ -2337,15 +2383,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"MS",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
,,"664"]
,"MT":[,[]
,[]
,[]
,[,,"NA","NA"]
,"MT":[,[,,"[2579]\\d{7}","\\d{8}"]
,[,,"2(?:0(?:1[0-6]|[69]\\d)|[1-357]\\d{2})\\d{4}","\\d{8}",,,"21001234"]
,[,,"(?:7(?:210|[79]\\d{2}|)|9(?:2[13]\\d|696|8(?:1[1-3]|89|97)|9\\d{2}))\\d{4}","\\d{8}",,,"96961234"]
,[,,"NA","NA"]
,[,,"50(?:0(?:3[1679]|4\\d)|[169]\\d{2}|7[06]\\d)\\d{3}","\\d{8}",,,"50031234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"MT",356,"00","21",,,"21",,,1,,,[,,"NA","NA"]
,"MT",356,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",,"",""]
]
,,[,,"7117\\d{4}","\\d{8}",,,"71171234"]
]
,"MU":[,[,,"[2-9]\\d{6}","\\d{7}"]
,[,,"(?:2(?:[034789]\\d|1[0-8]|2[0-79])|4(?:[013-8]\\d|2[4-7])|[56]\\d{2}|8(?:14|3[129]))\\d{4}","\\d{7}",,,"2012345"]
@ -2359,15 +2407,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"MV":[,[]
,[]
,[]
,"MV":[,[,,"[3679]\\d{6}","\\d{7}"]
,[,,"(?:3(?:00|3[0-59]|)|6(?:[567][02468]|8[024689]))\\d{4}","\\d{7}",,,"6701234"]
,[,,"(?:7(?:[679]\\d|8[02-9])|9[6-9]\\d)\\d{4}","\\d{7}",,,"7712345"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"MV",960,"020","0",,,"0",,,1,,,[,,"NA","NA"]
,"MV",960,"0(?:0|19)",,,,,,"00",,[[,"(\\d{3})(\\d{4})","$1-$2",,"",""]
]
,,[,,"781\\d{4}","\\d{7}",,,"7812345"]
]
,"MW":[,[,,"(?:[13-5]|[27]\\d{2}|[89](?:\\d{2})?)\\d{6}","\\d{7,9}"]
,[,,"(?:1[2-9]|21\\d{2})\\d{5}","\\d{7,9}",,,"1234567"]
@ -2452,28 +2502,22 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"NA":[,[,,"[68]\\d{5,9}","\\d{4,10}"]
,[,,"6(?:1(?:[136]|2\\d?)\\d|2(?:[25]\\d?|[134678])\\d|3(?:2\\d{0,3}|4\\d{1,2}|[135-8]\\d?)|4(?:[13-8]\\d|2\\d{1,2})|(?:5(?:[16-7]\\d|[3-58]\\d?|2\\d{1,2}))|6\\d{0,4}|7\\d{0,3})\\d{4}","\\d{4,10}",,,"612012345"]
,[,,"8(?:1(?:1[0-24]|[2-4]\\d|50|6[0-2])|5\\d{2})\\d{5}","\\d{9}",,,"811012345"]
,"NA":[,[,,"[68]\\d{7,8}","\\d{8,9}"]
,[,,"6(?:1(?:17|2(?:[0189]\\d|[23-6]|7\\d?)|3(?:2\\d|3[378])|4[01]|69|7[014])|2(?:17|25|5(?:[0-36-8]|4\\d?)|69|70)|3(?:17|2(?:[0237]\\d?|[14-689])|34|6[29]|7[01]|81)|4(?:17|2(?:[012]|7?)|4(?:[06]|1\\d)|5(?:[01357]|[25]\\d?)|69|7[01])|5(?:17|2(?:[0459]|[23678]\\d?)|69|7[01])|6(?:17|2(?:5|6\\d?)|38|42|69|7[01])|7(?:17|2(?:[569]|[234]\\d?)|3(?:0\\d?|[13])|69|7[01]))\\d{4}","\\d{8,9}",,,"612012345"]
,[,,"(?:60|8[125])\\d{7}","\\d{9}",,,"811234567"]
,[,,"NA","NA"]
,[,,"8701\\d{5}","\\d{9}",,,"870123456"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"88\\d{6}","\\d{8}",,,"88123456"]
,"NA",264,"00","0",,,"0",,,,[[,"(8\\d)(\\d{3})(\\d{4})","$1 $2 $3",["8[15]"]
,"0$1",""]
,[,"(632532)(\\d{2,4})","$1 $2",["632","6325","63253","632532"]
,"0$1",""]
,[,"(6\\d)(\\d{2,3})(\\d{4})","$1 $2 $3",["6(?:1|[245][1-7]|3[125-7]|6[1256]|7[1236])"]
,[,,"886\\d{5}","\\d{8}",,,"88612345"]
,"NA",264,"00","0",,,"0",,,,[[,"(8\\d)(\\d{3})(\\d{4})","$1 $2 $3",["8[125]"]
,"0$1",""]
,[,"(6\\d)(\\d{4,5})","$1 $2",["6(?:3[12567]|5[3-5]|6[1256]|7[1236])"]
,"0$1",""]
,[,"(6\\d{2})(\\d{4,6})","$1 $2",["6[2356]8"]
,"0$1",""]
,[,"(6\\d{3})(\\d{4,5})","$1 $2",["6(?:34|6[34]|75)","6(?:342|6[34]|751)"]
,[,"(6\\d)(\\d{2,3})(\\d{4})","$1 $2 $3",["6"]
,"0$1",""]
,[,"(88)(\\d{3})(\\d{3})","$1 $2 $3",["88"]
,"0$1",""]
,[,"(870)(\\d{3})(\\d{3})","$1 $2 $3",["870"]
,"0$1",""]
]
,,[,,"NA","NA"]
]
@ -2608,15 +2652,15 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"NR",674,"00","0",,,"0",,,1,,,[,,"NA","NA"]
]
,"NU":[,[]
,[]
,[]
,"NU":[,[,,"[1-5]\\d{3}","\\d{4}"]
,[,,"[34]\\d{3}","\\d{4}",,,"4002"]
,[,,"[125]\\d{3}","\\d{4}",,,"1234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"NU",683,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,"NU",683,"00",,,,,,,,,,[,,"NA","NA"]
]
,"NZ":[,[,,"[2-9]\\d{7,9}","\\d{7,10}"]
,[,,"(?:3[2-79]|[479][2-689]|6[235-9])\\d{6}|24099\\d{3}","\\d{7,8}",,,"32345678"]
@ -2695,7 +2739,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"PG":[,[,,"[1-9]\\d{6,7}","\\d{7,8}"]
,[,,"(?:3\\d{2}|4[257]\\d|5[34]\\d|6(?:29|4[1-9])|85[02-46-9]|9[78]\\d)\\d{4}","\\d{7}",,,"3123456"]
,[,,"(?:68|7(?:[126]\\d|3[34689]))\\d{5}","\\d{7,8}",,,"6812345"]
,[,,"(?:68|7(?:[126]\\d|3[1-9]))\\d{5}","\\d{7,8}",,,"6812345"]
,[,,"180\\d{4}","\\d{7}",,,"1801234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -2795,15 +2839,22 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"PR",1,"011","1",,,"1",,,1,,,[,,"NA","NA"]
,,"787|939"]
,"PS":[,[]
,[]
,[]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"PS":[,[,,"(?:[24589]\\d{7,9}|1(?:[78]\\d{8}|[49]\\d{2,3}))","\\d{4,10}"]
,[,,"(?:22[2379]|42[45]|82[01458]|92[369])\\d{5}","\\d{7,8}",,,"22234567"]
,[,,"5[69]\\d{7}","\\d{9}",,,"599123456"]
,[,,"1800\\d{6}","\\d{10}",,,"1800123456"]
,[,,"1(?:4|9\\d)\\d{2}","\\d{4,5}",,,"19123"]
,[,,"1700\\d{6}","\\d{10}",,,"1700123456"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"PS",970,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,"PS",970,"00","0",,,"0",,,,[[,"([2489])(2\\d{2})(\\d{4})","$1 $2 $3",["[2489]"]
,"0$1",""]
,[,"(5[69]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["5"]
,"0$1",""]
,[,"(1[78]00)(\\d{3})(\\d{3})","$1 $2 $3",["1[78]"]
,"$1",""]
]
,,[,,"NA","NA"]
]
,"PT":[,[,,"[2-46-9]\\d{8}","\\d{9}"]
,[,,"2(?:[12]\\d|[35][1-689]|4[1-59]|6[1-35689]|7[1-9]|8[1-69]|9[1256])\\d{6}","\\d{9}",,,"212345678"]
@ -2959,27 +3010,32 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"SB",677,"00",,,,,,,1,,,[,,"NA","NA"]
]
,"SC":[,[,,"[2-8]\\d{5}","\\d{6}"]
,"SC":[,[,,"[2-8]\\d{5,6}","\\d{6,7}"]
,[,,"(?:2(?:1[78]|2[14-69]|3[2-4]|4[1-36-8]|6[167]|[89]\\d)|3(?:2[1-6]|4[4-6]|55|6[016]|7\\d|8[0-589]|9[0-5])|5(?:5\\d|6[0-2])|6(?:0[0-27-9]|1[0-478]|2[145]|3[02-4]|4[124]|6[015]|7\\d|8[1-3])|78[0138])\\d{3}","\\d{6}",,,"217123"]
,[,,"(?:5(?:[1247-9]\\d|6[3-9])|7(?:[14679]\\d|2[1-9]|8[24-79]))\\d{3}","\\d{6}",,,"510123"]
,[,,"8000\\d{2}","\\d{6}",,,"800000"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"4[1-37]\\d{4}","\\d{6}",,,"410123"]
,"SC",248,"0[0-2]",,,,,,"00",,[[,"(\\d{3})(\\d{3})","$1 $2",,"",""]
,[,,"(?:4?4[1-3]|6?47)\\d{4}","\\d{6,7}",,,"4410123"]
,"SC",248,"0[0-2]",,,,,,"00",,[[,"(\\d{3})(\\d{3})","$1 $2",["[23578]|[46][0-35-9]"]
,"",""]
,[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[46]4"]
,"",""]
]
,,[,,"NA","NA"]
]
,"SD":[,[]
,[]
,[]
,"SD":[,[,,"[19]\\d{8}","\\d{9}"]
,[,,"1(?:[25]\\d|8[3567])\\d{6}","\\d{9}",,,"121231234"]
,[,,"9[1259]\\d{7}","\\d{9}",,,"911231234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"SD",249,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,"SD",249,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""]
]
,,[,,"NA","NA"]
]
,"SE":[,[,,"\\d{7,10}","\\d{5,10}"]
,[,,"1(?:0[1-8]\\d{6}|[136]\\d{5,7}|(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\d)\\d{5,6})|2(?:[136]\\d{5,7}|(?:2[0-7]|4[0136-8]|5[0-38]|7[018]|8[01]|9[0-57])\\d{5,6})|3(?:[356]\\d{5,7}|(?:0[0-4]|1\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])\\d{5,6})|4(?:[0246]\\d{5,7}|(?:1[01-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])\\d{5,6})|5(?:0[0-6]|1[1-5]|2[0-68]|3[0-4]|4\\d|5[0-5]|6[03-5]|7[013]|8[0-79]|9[01])\\d{5,6}|6(?:[03]\\d{5,7}|(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])\\d{5,6})|8\\d{6,8}|9(?:0\\d{5,7}|(?:1[0-68]|2\\d|3[02-59]|4[0-4]|5[0-4]|6[01]|7[0135-8]|8[01])\\d{5,6})","\\d{5,9}",,,"8123456"]
@ -3008,18 +3064,20 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"SG":[,[,,"[13689]\\d{7,10}","\\d{8,11}"]
,[,,"[36]\\d{7}","\\d{8}",,,"31234567"]
,[,,"[89]\\d{7}","\\d{8}",,,"81234567"]
,"SG":[,[,,"[36]\\d{7}|[17-9]\\d{7,10}","\\d{8,11}"]
,[,,"6[1-8]\\d{6}|7000\\d{7}","\\d{8,11}",,,"61234567"]
,[,,"(?:8[1-5]|9[0-8])\\d{6}","\\d{8}",,,"81234567"]
,[,,"1?800\\d{7}","\\d{10,11}",,,"18001234567"]
,[,,"1900\\d{7}","\\d{11}",,,"19001234567"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"3[0-2]\\d{6}","\\d{8}",,,"31234567"]
,"SG",65,"0[0-3][0-9]",,,,,,,,[[,"([3689]\\d{3})(\\d{4})","$1 $2",["[369]|8[1-9]"]
,"",""]
,[,"(1[89]00)(\\d{3})(\\d{4})","$1 $2 $3",["1[89]"]
,"",""]
,[,"(7000)(\\d{4})(\\d{3})","$1 $2 $3",["70"]
,"",""]
,[,"(800)(\\d{3})(\\d{4})","$1 $2 $3",["80"]
,"",""]
]
@ -3115,7 +3173,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"SO",252,"00",,,,,,,,[[,"([13-5])(\\d{6})","$1 $2",["[13-5]"]
,"",""]
,[,"([19]\\d)(\\d{6})","$1 $2",["[19]"]
,[,"([19]\\d)(\\d{6})","$1 $2",["15|9"]
,"",""]
]
,,[,,"NA","NA"]
@ -3167,17 +3225,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"SZ":[,[,,"[2-7]\\d{6,7}","\\d{7,8}"]
,"SZ":[,[,,"[02-7]\\d{6,7}","\\d{7,8}"]
,[,,"2?(?:2(?:0[07]|[13]7|2[57])|3(?:0[34]|[1278]3|3[23]|[46][34])|(?:40[4-69]|16|2[12]|3[57]|[4578]2|67)|5(?:0[5-7]|1[6-9]|[23][78]|48|5[01]))\\d{4}","\\d{7,8}",,,"2171234"]
,[,,"(?:6|7[67])\\d{6}","\\d{7,8}",,,"76123456"]
,[,,"NA","NA"]
,[,,"(?:6|7[6-8])\\d{6}","\\d{7,8}",,,"76123456"]
,[,,"0800\\d{4}","\\d{8}",,,"08001234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"SZ",268,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[2-6]"]
,"",""]
,[,"(\\d{4})(\\d{4})","$1 $2",["7"]
,[,"(\\d{4})(\\d{4})","$1 $2",["[027]"]
,"",""]
]
,,[,,"NA","NA"]
@ -3511,7 +3569,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,"340"]
,"VN":[,[,,"8\\d{5,8}|[1-79]\\d{7,9}","\\d{7,10}"]
,[,,"(?:2(?:[025-79]|1[0189]|[348][01])|3(?:[0136-9]|[25][01])|[48]\\d|5(?:[01][01]|[2-9])|6(?:[0-46-8]|5[01])|7(?:[02-79]|[18][01]))\\d{7}|69\\d{5,6}|80\\d{5}","\\d{7,10}",,,"2101234567"]
,[,,"(?:9\\d|1(?:2[1-35-9]|6[3-9]|99))\\d{7}","\\d{9,10}",,,"912345678"]
,[,,"(?:9\\d|1(?:2\\d|6[3-9]|88|99))\\d{7}","\\d{9,10}",,,"912345678"]
,[,,"1800\\d{4,6}","\\d{8,10}",,,"1800123456"]
,[,,"1900\\d{4,6}","\\d{8,10}",,,"1900123456"]
,[,,"NA","NA"]
@ -3529,9 +3587,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"0$1",""]
,[,"(9\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"]
,"0$1",""]
,[,"(1[269]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1(?:[26]|99)"]
,[,"(1[2689]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1(?:[26]|88|99)"]
,"0$1",""]
,[,"(1[89]00)(\\d{4,6})","$1 $2",["1(?:8|90)"]
,[,"(1[89]00)(\\d{4,6})","$1 $2",["1[89]0"]
,"$1",""]
]
,,[,,"NA","NA"]
@ -3600,11 +3658,14 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"(?:1[0-8]|2[1-478]|3[1-69]|4\\d|5[1346-8])\\d{7}","\\d{8,9}",,,"101234567"]
,[,,"(?:7[1-4689]|8[1-5789])\\d{7}","\\d{9}",,,"711234567"]
,[,,"80\\d{7}","\\d{9}",,,"801234567"]
,[,,"86\\d{7}","\\d{9}",,,"861234567"]
,[,,"NA","NA"]
,[,,"86[1-9]\\d{6}","\\d{9}",,,"861234567"]
,[,,"860\\d{6}","\\d{9}",,,"860123456"]
,[,,"NA","NA"]
,[,,"87\\d{7}","\\d{9}",,,"871234567"]
,"ZA",27,"00","0",,,"0",,,,[[,"([1-578]\\d)(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""]
,"ZA",27,"00","0",,,"0",,,,[[,"(860)(\\d{3})(\\d{3})","$1 $2 $3",["860"]
,"0$1",""]
,[,"([1-578]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[1-57]|8(?:[0-57-9]|6[1-9])"]
,"0$1",""]
]
,,[,,"NA","NA"]
]
@ -3625,7 +3686,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"ZW":[,[,,"2(?:[012457-9]\\d{3,8}|6\\d{3,6})|[13-79]\\d{4,8}|86\\d{8}","\\d{3,10}"]
,[,,"(?:1[3-9]|2(?:0[45]|[16]|2[28]|[49]8?|58[23]|7[246]|8[1346-9])|3(?:08?|17?|3[78]|[2456]|7[1569]|8[379])|5(?:[07-9]|1[78]|483|5(?:7?|8))|6(?:0|28|37?|[45][68][78]|98?)|848)\\d{3,6}|(?:2(?:27|5|7[135789]|8[25])|3[39]|5[1-46]|6[126-8])\\d{4,6}|2(?:0|70)\\d{5,6}|(?:4\\d|9[2-8])\\d{4,7}","\\d{3,10}",,,"1312345"]
,[,,"(?:[19]1|7[13])\\d{6,7}","\\d{8,9}",,,"911234567"]
,[,,"7[137]\\d{7}","\\d{9}",,,"711234567"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]


+ 232
- 171
javascript/i18n/phonenumbers/metadatalite.js View File

@ -329,13 +329,13 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"AM":[,[,,"[1-37-9]\\d{7}","\\d{5,8}"]
,[,,"(?:10\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\d{5}","\\d{5,8}"]
,[,,"(?:77|9[1-49])\\d{6}","\\d{8}"]
,[,,"(?:77|9[1-469])\\d{6}","\\d{8}"]
,[,,"800\\d{5}","\\d{8}"]
,[,,"90[016]\\d{5}","\\d{8}"]
,[,,"80[1-4]\\d{5}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"AM",374,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",["[17]|9[1-49]"]
,"AM",374,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",["[17]|9[1-469]"]
,"(0$1)",""]
,[,"(\\d{3})(\\d{5})","$1 $2",["[23]"]
,"(0$1)",""]
@ -583,12 +583,12 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"BH":[,[,,"[1367]\\d{7}","\\d{8}"]
,"BH":[,[,,"[136-9]\\d{7}","\\d{8}"]
,[,,"(?:1(?:3[3-6]|6[0156]|7\\d)|6(?:1[16]|6[03469]|9[69])|77\\d)\\d{5}","\\d{8}"]
,[,,"(?:3(?:[369]\\d|77|8[38])|6(?:1[16]|6[03469]|9[69])|77\\d)\\d{5}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"80\\d{6}","\\d{8}"]
,[,,"(?:87|9[014578])\\d{6}","\\d{8}"]
,[,,"84\\d{6}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"BH",973,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",,"",""]
@ -738,15 +738,20 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"BZ":[,[]
,[]
,[]
,"BZ":[,[,,"[2-8]\\d{6}|0\\d{10}","\\d{7}(?:\\d{4})?"]
,[,,"[234578][02]\\d{5}","\\d{7}"]
,[,,"6(?:[01]\\d|2[0-5]|[67][01])\\d{4}","\\d{7}"]
,[,,"0800\\d{7}","\\d{11}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"BZ",501,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,"BZ",501,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1-$2",["[2-8]"]
,"",""]
,[,"(0)(800)(\\d{4})(\\d{3})","$1-$2-$3-$4",["0"]
,"",""]
]
,,[,,"NA","NA"]
]
,"CA":[,[,,"[2-9]\\d{9}|3\\d{6}","\\d{7,10}"]
,[,,"(?:2(?:04|26|50|89)|306|4(?:03|16|18|38|50|56)|5(?:00|06|14|19|81|87)|6(?:00|04|13|47)|7(?:00|05|09|10|78|80)|8(?:07|19|67))[2-9]\\d{6}|310\\d{4}","\\d{7,10}"]
@ -760,7 +765,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"CD":[,[,,"[89]\\d{8}|[1-6]\\d{6}","\\d{7,9}"]
,[,,"[1-6]\\d{6}","\\d{7}"]
,[,,"(?:8[0149]|9[7-9])\\d{7}","\\d{9}"]
,[,,"(?:8[0-2489]|9[7-9])\\d{7}","\\d{9}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -785,15 +790,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"CG":[,[,,"[24-68]\\d{6}","\\d{7}"]
,[,,"(?:2[1-589]|8\\d)\\d{5}","\\d{7}"]
,[,,"[4-6]\\d{6}","\\d{7}"]
,[,,"NA","NA"]
,"CG":[,[,,"[028]\\d{8}","\\d{9}"]
,[,,"222[1-589]\\d{5}","\\d{9}"]
,[,,"0[14-6]\\d{7}","\\d{9}"]
,[,,"800\\d{6}","\\d{9}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"CG",242,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
,"CG",242,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[02]"]
,"",""]
,[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["8"]
,"",""]
]
,,[,,"NA","NA"]
]
@ -930,27 +938,37 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"CO",57,"(?:00[579]|#555|#999)","0",,,"0",,,1,,,[,,"NA","NA"]
]
,"CR":[,[,,"[28]\\d{7}","\\d{8}"]
,"CR":[,[,,"[289]\\d{7,9}","\\d{8,10}"]
,[,,"2[24-7]\\d{6}","\\d{8}"]
,[,,"8[38]\\d{6}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"8[389]\\d{6}","\\d{8}"]
,[,,"800\\d{7}","\\d{10}"]
,[,,"90[059]\\d{7}","\\d{10}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"CR",506,"00",,,,,,,,[[,"([28]\\d{3})(\\d{4})","$1 $2",,"",""]
,"CR",506,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",["2|8[389]"]
,"",""]
,[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[89]0"]
,"",""]
]
,,[,,"NA","NA"]
]
,"CU":[,[]
,[]
,[]
,"CU":[,[,,"[2-57]\\d{5,7}","\\d{4,8}"]
,[,,"(?:2[1-4]\\d{5,6}|3(?:1\\d{6}|[23]\\d{4,6})|4(?:[125]\\d{5,6}|[36]\\d{6}|[78]\\d{4,6})|7\\d{6,7})","\\d{4,8}"]
,[,,"5\\d{7}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"CU",53,"119","0",,,"0",,,1,,,[,,"NA","NA"]
,"CU",53,"119","0",,,"0",,,,[[,"(\\d)(\\d{6,7})","$1 $2",["7"]
,"(0$1)",""]
,[,"(\\d{2})(\\d{4,6})","$1 $2",["[2-4]"]
,"(0$1)",""]
,[,"(\\d)(\\d{7})","$1 $2",["5"]
,"0$1",""]
]
,,[,,"NA","NA"]
]
,"CV":[,[,,"[259]\\d{6}","\\d{7}"]
,[,,"2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\d|7[1-3]|8[1-5])\\d{4}","\\d{7}"]
@ -988,9 +1006,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"DE":[,[,,"(?:4[0-8]|[1-35-9]\\d)\\d{4,12}|49(?:4[1-8]|[0-35-7]\\d)\\d{2,7}","\\d{2,14}"]
,[,,"(?:[246]\\d{2}|3[02-9]\\d|5(?:0[2-8]|[38][0-8]|[124-6]\\d|[79][0-7])|[789](?:[1-9]\\d|0[2-9]))\\d{3,10}","\\d{2,14}"]
,[,,"1(?:5\\d{9}|7(?:[0-57-9]|6\\d)\\d{7}|6[02]\\d{7,8}|63\\d{7})","\\d{10,11}"]
,"DE":[,[,,"[1-35-9]\\d{3,13}|4(?:[0-8]\\d{4,12}|9(?:4[1-8]|[0-35-7]\\d)\\d{2,7})","\\d{2,14}"]
,[,,"[246]\\d{5,13}|3(?:[03-9]\\d{4,11}|2\\d{9})|5(?:0[2-8]|[38][0-8]|[124-6]\\d|[79][0-7])\\d{3,10}|7(?:0[2-8]|[1-9]\\d)\\d{3,10}|8(?:0[2-9]|[1-9]\\d)\\d{3,10}|9(?:0[6-9]|[1-9]\\d)\\d{3,10}","\\d{2,14}"]
,[,,"1(?:5\\d{9}|7(?:[0-57-9]|6\\d)\\d{7}|6(?:[02]\\d{7,8}|3\\d{7}))","\\d{10,11}"]
,[,,"800\\d{7,9}","\\d{10,12}"]
,[,,"900(?:[135]\\d{6}|9\\d{7})","\\d{10,11}"]
,[,,"180\\d{5,11}","\\d{8,14}"]
@ -1011,17 +1029,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,"(700)(\\d{4})(\\d{4})","$1 $2 $3",["700"]
,"0$1",""]
]
,,[,,"NA","NA"]
,,[,,"16(?:4\\d{1,10}|[89]\\d{1,11})","\\d{4,14}"]
]
,"DJ":[,[,,"[2-8]\\d{5}","\\d{6}"]
,[,,"(?:25|3[0-6]|42)\\d{4}","\\d{6}"]
,[,,"(?:[5-7]\\d|8[0-7])\\d{4}","\\d{6}"]
,"DJ":[,[,,"[1-8]\\d{5}","\\d{6}"]
,[,,"(?:1[05]|[2-5]\\d)\\d{4}","\\d{6}"]
,[,,"[6-8]\\d{5}","\\d{6}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"DJ",253,"00",,,,,,,,[[,"([2-8]\\d)(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
,"DJ",253,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
]
,,[,,"NA","NA"]
]
@ -1074,29 +1092,45 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"EC":[,[]
,[]
,[]
,"EC":[,[,,"[2-9]\\d{7}|1\\d{9,10}","\\d{7,11}"]
,[,,"[2-7][2-7]\\d{6}","\\d{7,8}"]
,[,,"[89]\\d{7}","\\d{8}"]
,[,,"1800\\d{6,7}","\\d{10,11}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"EC",593,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{4})","$1 $2-$3",["[2-7]"]
,"(0$1)",""]
,[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"]
,"0$1",""]
,[,"(1800)(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]
,"$1",""]
]
,[[,"(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-7]"]
,,""]
,[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"]
,,""]
,[,"(1800)(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]
,,""]
]
,[,,"NA","NA"]
,"EC",593,"00","0",,,"0",,,1,,,[,,"NA","NA"]
]
,"EE":[,[,,"[3-9]\\d{6,7}|800\\d{6,7}","\\d{6,10}"]
,[,,"(?:3[23589]|4[3-8]|6\\d|7[1-9]|88)\\d{5}","\\d{7}"]
,[,,"(?:3[23589]|4(?:0\\d|[3-8])|6\\d|7[1-9]|88)\\d{5}","\\d{7,8}"]
,[,,"(?:5\\d|8[1-5])\\d{6}|5(?:[02]\\d{2}|1(?:[0-8]\\d|95)|5[0-478]\\d|64[0-4]|65[1-589])\\d{3}","\\d{7,8}"]
,[,,"800(?:0\\d{3}|1\\d|[2-9])\\d{3}","\\d{7,10}"]
,[,,"900\\d{4}","\\d{7}"]
,[,,"NA","NA"]
,[,,"70\\d{5}","\\d{7}"]
,[,,"70[0-2]?\\d{5}","\\d{7,8}"]
,[,,"NA","NA"]
,"EE",372,"00",,,,,,,,[[,"([34-79]\\d{2})(\\d{4})","$1 $2",["[34679]|5(?:[0-2]|5[0-478]|6[45])","[34679]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))"]
,"EE",372,"00",,,,,,,,[[,"([34-79]\\d{2})(\\d{4})","$1 $2",["[3679]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])","[3679]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))"]
,"",""]
,[,"(70)(\\d{2})(\\d{4})","$1 $2 $3",["70"]
,"",""]
,[,"(8000)(\\d{3})(\\d{3})","$1 $2 $3",["800","8000"]
,"",""]
,[,"([58]\\d{3})(\\d{3,4})","$1 $2",["5|8(?:00|[1-5])","5|8(?:00[1-9]|[1-5])"]
,[,"([458]\\d{3})(\\d{3,4})","$1 $2",["40|5|8(?:00|[1-5])","40|5|8(?:00[1-9]|[1-5])"]
,"",""]
]
,,[,,"NA","NA"]
@ -1201,15 +1235,15 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"FM",691,"00",,,,,,,1,,,[,,"NA","NA"]
]
,"FO":[,[]
,[]
,[]
,[,,"NA","NA"]
,"FO":[,[,,"[2-9]\\d{5}","\\d{6}"]
,[,,"(?:20|[3-4]\\d|8[19])\\d{4}","\\d{6}"]
,[,,"(?:2[1-9]|5\\d|7[1-79])\\d{4}","\\d{6}"]
,[,,"80[257-9]\\d{3}","\\d{6}"]
,[,,"90(?:[1345][15-7]|2[125-7]|99)\\d{2}","\\d{6}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"FO",298,"00",,,,,,,1,,,[,,"NA","NA"]
,[,,"(?:6[0-36]|88)\\d{4}","\\d{6}"]
,"FO",298,"00",,,,"10(?:01|[12]0|88)",,,,,,[,,"NA","NA"]
]
,"FR":[,[,,"[1-9]\\d{8}","\\d{9}"]
,[,,"[1-5]\\d{8}","\\d{9}"]
@ -1242,7 +1276,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
]
,"GB":[,[,,"\\d{7,10}","\\d{4,10}"]
,[,,"1(?:1[3-8]|[2-69]1)\\d{7}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-4789]|7[013-9]|9\\d)|3(?:0\\d|[25][02-9]|3[02-579]|[468][0-46-9]|7[1235679]|9[24578])|4(?:0[03-9]|2[02-5789]|[37]\\d|4[02-69]|5[0-8]|[69][0-79]|8[02-5789])|5(?:0[1235-9]|2[024-9]|3[015689]|4[02-9]|5[03-9]|6\\d|7[0-35-9]|8[0-468]|9[0-5789])|6(?:0[034689]|2[0-35689]|3[013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|8[013-9]|9[0124578])|7(?:0[0246-9]|2\\d|3[023678]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-5789]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-5789]|4[2-9]|5[0-579]|6[234789]|7[0124578]|8\\d|9[2-57]))\\d{6}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-4789]|8[345])))|3(?:638[2-5]|647[23]|8(?:47[04-9]|64[015789]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[123]))|5(?:24(?:3[2-79]|6\\d)|276\\d|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[567]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|955[0-4])|7(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|84(?:3[2-58]))|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}|176888[234678]\\d{2}|16977[23]\\d{3}|2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[012])\\d{7}|(?:3[0347]|55)\\d{8}","\\d{4,10}"]
,[,,"2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[012])\\d{7}|1(?:(?:1(?:3[0-48]|[46][0-4]|5[012789]|7[0-39]|8[01349])|21[0-7]|31[0-8]|[459]1\\d|61[01246-9]))\\d{6}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-4789]|7[013-9]|9\\d)|3(?:0\\d|[25][02-9]|3[02-579]|[468][0-46-9]|7[1235679]|9[24578])|4(?:0[03-9]|[28][02-5789]|[37]\\d|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1235-9]|2[024-9]|3[015689]|4[02-9]|5[03-9]|6\\d|7[0-35-9]|8[0-468]|9[0-5789])|6(?:0[034689]|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0124578])|7(?:0[0246-9]|2\\d|3[023678]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-5789]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-5789]|4[2-9]|5[0-579]|6[234789]|7[0124578]|8\\d|9[2-57]))\\d{6}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-4789]|8[345])))|3(?:638[2-5]|647[23]|8(?:47[04-9]|64[015789]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[123]))|5(?:24(?:3[2-79]|6\\d)|276\\d|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[567]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|955[0-4])|7(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|84(?:3[2-58]))|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}|176888[234678]\\d{2}|16977[23]\\d{3}|(?:3[0347]|55)\\d{8}","\\d{4,10}"]
,[,,"7(?:[1-4]\\d\\d|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[04-9]\\d|1[02-9]|2[0135-9]|3[0-689]))\\d{6}","\\d{10}"]
,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?"]
,[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}"]
@ -1335,15 +1369,15 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"GI":[,[]
,[]
,[]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GI":[,[,,"[2568]\\d{7}","\\d{8}"]
,[,,"2(?:00\\d|16[0-7]|22[2457])\\d{4}","\\d{8}"]
,[,,"(?:5[4-8]|60)\\d{6}","\\d{8}"]
,[,,"80\\d{6}","\\d{8}"]
,[,,"8[1-689]\\d{6}","\\d{8}"]
,[,,"87\\d{6}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GI",350,"00",,,,,,,1,,,[,,"NA","NA"]
,"GI",350,"00",,,,,,,,,,[,,"NA","NA"]
]
,"GL":[,[,,"[1-689]\\d{5}","\\d{6}"]
,[,,"(?:19|3[1-6]|6[14689]|8[14-79]|9\\d)\\d{4}","\\d{6}"]
@ -1371,7 +1405,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"GN":[,[,,"[3567]\\d{7}","\\d{8}"]
,[,,"30(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])\\d{4}","\\d{8}"]
,[,,"55\\d{6}|6(?:0(?:2\\d|3[3467]|5[2457-9])|[2457]\\d{2}|3(?:[14]0|35))\\d{4}","\\d{8}"]
,[,,"55\\d{6}|6(?:0(?:2\\d|3[3467]|5[2457-9])|[24578]\\d{2}|3(?:[14]0|35))\\d{4}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -1484,15 +1518,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"HN":[,[]
,[]
,[]
,"HN":[,[,,"[237-9]\\d{7}","\\d{8}"]
,[,,"2(?:2(?:0[019]|1[1-36]|[23]\\d|4[056]|5[57]|9[01])|4(?:2|3-59]|3[13-689]|4[0-68]|5[1-35])|5(?:4[3-5]|5\\d|6[56]|74)|6(?:4[0-378]|[56]\\d|[78][0-8]|9[01])|7(?:6[46-9]|7[02-9]|8[34])|8(?:79|8[0-35789]|9[1-57-9]))\\d{4}","\\d{8}"]
,[,,"[37-9]\\d{7}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"HN",504,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,"HN",504,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1-$2",,"",""]
]
,,[,,"NA","NA"]
]
,"HR":[,[,,"[1-7]\\d{5,8}|[89]\\d{6,11}","\\d{6,12}"]
,[,,"(?:1|6[029])\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\d{6}","\\d{6,9}"]
@ -1523,19 +1559,21 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"HT":[,[]
,[]
,[]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"HT":[,[,,"[2-489]\\d{7}","\\d{8}"]
,[,,"2(?:[24]\\d|5[1-5]|94)\\d{5}","\\d{8}"]
,[,,"(?:3[4-9]|4\\d)\\d{6}","\\d{8}"]
,[,,"8\\d{7}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"HT",509,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,[,,"98[89]\\d{5}","\\d{8}"]
,"HT",509,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",,"",""]
]
,,[,,"NA","NA"]
]
,"HU":[,[,,"\\d{8,9}","\\d{6,9}"]
,[,,"(?:1\\d|2(?:1\\d|[2-9])|3[2-7]|4[24-9]|5[2-79]|6[23689]|7(?:1\\d|[2-9])|8[2-57-9]|9[2-69])\\d{6}","\\d{6,9}"]
,[,,"(?:[237]0|31)\\d{7}","\\d{9}"]
,[,,"(?:[27]0|3[01])\\d{7}","\\d{9}"]
,[,,"80\\d{6}","\\d{8}"]
,[,,"9[01]\\d{6}","\\d{8}"]
,[,,"40\\d{6}","\\d{8}"]
@ -1572,8 +1610,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
]
,"IE":[,[,,"[124-9]\\d{6,9}","\\d{5,10}"]
,[,,"1\\d{7,8}|(?:2[24-9]|4(?:0[24]|7)|5(?:0[45]|8)|6[237-9]|9[3-9])\\d{5}|(?:45|[569]1|818)\\d{6}|(?:4[12469]|5[3679]|6[56]|7[14]|9[04])\\d{7}|21\\d{6,7}|(?:23|4[34]|52|64)\\d{5,7}|48\\d{8}","\\d{5,10}"]
,[,,"8[35-9]\\d{7}","\\d{9}"]
,[,,"1\\d{7,8}|2(?:1\\d{6,7}|[24-9]\\d{5}|3\\d{5,7})|4(?:0[24]\\d{5}|[1269]\\d{7}|[34]\\d{5,7}|5\\d{6}|7\\d{5}|8[0-46-9]\\d{7})|5(?:0[45]\\d{5}|1\\d{6}|2\\d{5,7}|[3679]\\d{7}|8\\d{5})|6(?:1\\d{6}|4\\d{5,7}|[237-9]\\d{5}|[56]\\d{7})|7[14]\\d{7}|818\\d{6}|9(?:1\\d{6}|[04]\\d{7}|[3-9]\\d{5})","\\d{5,10}"]
,[,,"8(?:22\\d{6}|[35-9]\\d{7,8})","\\d{9,10}"]
,[,,"1800\\d{6}","\\d{10}"]
,[,,"15(?:1[2-9]|[2-8]0|59|9[089])\\d{6}","\\d{10}"]
,[,,"18[59]0\\d{6}","\\d{10}"]
@ -1591,7 +1629,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"(0$1)",""]
,[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[24-69]|7[14]"]
,"(0$1)",""]
,[,"([78]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["76|8[35-9]"]
,[,"([78]\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["76|8[35-9]"]
,"0$1",""]
,[,"(700)(\\d{3})(\\d{3})","$1 $2 $3",["70"]
,"0$1",""]
@ -1759,9 +1797,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"JE":[,[,,"[15789]\\d{6,9}","\\d{6,10}"]
,[,,"1534\\d{6}","\\d{6,10}"]
,[,,"7(?:509|7(?:00|97)|829|937)\\d{6}","\\d{10}"]
,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?"]
,[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}"]
,[,,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})","\\d{7}(?:\\d{3})?"]
,[,,"80(?:07(?:35|81)|8901)\\d{4}","\\d{10}"]
,[,,"(?:871206|90(?:066[59]|1810|71(?:07|55)))\\d{4}","\\d{10}"]
,[,,"8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|70002)\\d{4}","\\d{10}"]
,[,,"701511\\d{4}","\\d{10}"]
,[,,"56\\d{8}","\\d{10}"]
,"JE",44,"00","0"," x",,"0",,,,,,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}"]
@ -1776,15 +1814,15 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"JM",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
,,"876"]
,"JO":[,[,,"[235-9]\\d{7,8}","\\d{7,9}"]
,"JO":[,[,,"[235-9]\\d{7,8}","\\d{8,9}"]
,[,,"[2356][2-8]\\d{6}","\\d{7,8}"]
,[,,"7(?:4[5-7]|55|7[5-79]|8[5-8]|9[05-9])\\d{6}","\\d{9}"]
,[,,"7(?:[1-8]\\d|9[02-9])\\d{6}","\\d{9}"]
,[,,"80\\d{6}","\\d{8}"]
,[,,"90\\d{6}","\\d{8}"]
,[,,"(?:8[57]\\d|810)\\d{5}","\\d{8}"]
,[,,"900\\d{5}","\\d{8}"]
,[,,"8(?:10\\d|5\\d{2}|7(?:[02]0|7[08]|9[09]))\\d{4}","\\d{8}"]
,[,,"70\\d{7}","\\d{9}"]
,[,,"NA","NA"]
,"JO",962,"00","0",,,"0",,,,[[,"([2356])(\\d{3})(\\d{4})","$1 $2 $3",["[2356]"]
,"JO",962,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]"]
,"(0$1)",""]
,[,"(7)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["7[457-9]"]
,"0$1",""]
@ -1794,7 +1832,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
]
,"JP":[,[,,"\\d{9,10}","\\d{9,10}"]
,[,,"(?:1[1-9][1-9]|9(?:[3-9][1-9]|2\\d)|(?:[36][1-9]|[24578][2-9])\\d)\\d{6}","\\d{9}"]
,[,,"(?:1(?:2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-578])|2[2-9]\\d|[36][1-9]\\d|4(?:6[0235-8]|[2-578]\\d|9[2-59])|5(?:6[1-9]|7[2-8]|[2-589]\\d)|7(?:3[4-9]|4[02-9]|[25-9]\\d)|8(?:3[2-9]|4[5-9]|5[1-9]|8[03-9]|[2679]\\d)|9(?:[679][1-9]|[2-58]\\d))\\d{6}","\\d{9}"]
,[,,"[7-9]0\\d{8}","\\d{10}"]
,[,,"120\\d{6}","\\d{9}"]
,[,,"990\\d{6}","\\d{9}"]
@ -1993,18 +2031,16 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
]
,"LB":[,[,,"[13-9]\\d{6,7}","\\d{7,8}"]
,[,,"(?:[14-6]\\d|[7-9][2-9])\\d{5}","\\d{7}"]
,[,,"(?:3\\d|7(?:0\\d|1[167]))\\d{5}","\\d{7,8}"]
,[,,"(?:[14-6]\\d{2}|7(?:[2-57-9]\\d|62)|[89][2-9]\\d)\\d{4}","\\d{7}"]
,[,,"(?:3\\d|7(?:[01]\\d|66))\\d{5}","\\d{7,8}"]
,[,,"NA","NA"]
,[,,"8[01]\\d{6}","\\d{8}"]
,[,,"9[01]\\d{6}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"LB",961,"00","0",,,"0",,,,[[,"([13-6])(\\d{3})(\\d{3})","$1 $2 $3",["[13-6]"]
,"LB",961,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[13-6]|7(?:[2-57-9]|62)|[89][2-9]"]
,"0$1",""]
,[,"([7-9][01])(\\d{3})(\\d{3})","$1 $2 $3",["[7-9][01]"]
,"0$1",""]
,[,"([7-9][2-9])(\\d{2})(\\d{3})","$1 $2 $3",["[7-9][2-9]"]
,[,"([7-9]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[89][01]|7(?:[01]|66)"]
,"0$1",""]
]
,,[,,"NA","NA"]
@ -2038,25 +2074,30 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"LK":[,[]
,[]
,[]
,"LK":[,[,,"[1-9]\\d{8}","\\d{7,9}"]
,[,,"(?:[189]1|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\\d{6}","\\d{7,9}"]
,[,,"7[12578]\\d{7}","\\d{9}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"LK",94,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,"LK",94,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{1})(\\d{6})","$1 $2 $3",["[1-689]"]
,"0$1",""]
,[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"]
,"0$1",""]
]
,,[,,"NA","NA"]
]
,"LR":[,[,,"(?:[27]\\d|[4-6])\\d{6}","\\d{7,8}"]
,"LR":[,[,,"(?:[279]\\d|[4-6])\\d{6}","\\d{7,8}"]
,[,,"2\\d{7}","\\d{8}"]
,[,,"(?:4[67]|5\\d|7\\d{2}|6[4-8])\\d{5}","\\d{7,8}"]
,[,,"NA","NA"]
,[,,"(?:4[67]|5\\d|6[4-8]|7\\d{2})\\d{5}","\\d{7,8}"]
,[,,"NA","NA"]
,[,,"90\\d{6}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"LR",231,"00","0",,,"0",,,,[[,"([27]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[27]"]
,"LR",231,"00","0",,,"0",,,,[[,"([279]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[279]"]
,"0$1",""]
,[,"([4-6])(\\d{3})(\\d{3})","$1 $2 $3",["[4-6]"]
,"0$1",""]
@ -2125,8 +2166,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"LY",218,"00","0",,,"0",,,1,,,[,,"NA","NA"]
]
,"MA":[,[,,"[5689]\\d{8}","\\d{9}"]
,[,,"5(?:2(?:[015-7]\\d{2}|(?:[28][2-9]|3[2-7]|4[2-8])\\d|9(?:0\\d|[89]0))|3(?:[0-4]\\d{2}|(?:[57][2-9]|6[2-8]|9[3-9])\\d|8(?:0\\d|[89]0)))\\d{4}","\\d{9}"]
,[,,"6(?:00|33|[15-7]\\d|4[0-8]|99)\\d{6}","\\d{9}"]
,[,,"5(?:2(?:(?:[015-7]\\d|2[2-9]|3[2-57]|4[2-8]|8[235-9]|)\\d|9(?:0\\d|[89]0))|3(?:(?:[0-4]\\d|[57][2-9]|6[235-8]|9[3-9])\\d|8(?:0\\d|[89]0)))\\d{4}","\\d{9}"]
,[,,"6(?:0[06]|[14-7]\\d|2[236]|33|99)\\d{6}","\\d{9}"]
,[,,"80\\d{7}","\\d{9}"]
,[,,"89\\d{7}","\\d{9}"]
,[,,"NA","NA"]
@ -2213,8 +2254,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"MH",692,"011","1",,,"1",,,1,,,[,,"NA","NA"]
]
,"MK":[,[,,"[2-578]\\d{7}","\\d{8}"]
,[,,"(?:2\\d|3[1-4]|4[2-8])\\d{6}","\\d{6,8}"]
,[,,"7\\d{7}","\\d{8}"]
,[,,"(?:2(?:[23]\\d|5[125]|61)|3(?:1[3-6]|2[2-6]|3[2-5]|4[235])|4(?:[23][2-6]|4[3-6]|5[25]|6[25-8]|7[24-6]|8[4-6]))\\d{5}","\\d{6,8}"]
,[,,"7[0-25-8]\\d{6}","\\d{8}"]
,[,,"800\\d{5}","\\d{8}"]
,[,,"5[02-9]\\d{6}","\\d{8}"]
,[,,"8(?:0[1-9]|[1-9]\\d)\\d{5}","\\d{8}"]
@ -2264,21 +2305,23 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"MN":[,[,,"[127-9]\\d{7}","\\d{8}"]
,[,,"(?:[12](?:1\\d|2[1-37]|3[2-8]|4[2-68]|5[1-4689])|70)\\d{6}","\\d{8}"]
,[,,"(?:88|9[1569])\\d{6}","\\d{8}"]
,"MN":[,[,,"[12]\\d{7,9}|[57-9]\\d{7}","\\d{8,10}"]
,[,,"[12](?:1\\d|2(?:[1-3]\\d?|7\\d)|3[2-8]\\d{1,2}|4[2-68]\\d{1,2}|5[1-4689]\\d{1,2})\\d{5}|(?:5[0568]|70)\\d{6}","\\d{8,10}"]
,[,,"(?:8[89]|9[15689])\\d{6}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"MN",976,"001","0",,,"0",,,,[[,"([127-9]\\d)(\\d{2})(\\d{4})","$1 $2 $3",["[12]1|[7-9]"]
,[,,"7[569]\\d{6}","\\d{8}"]
,"MN",976,"001","0",,,"0",,,,[[,"([12]\\d)(\\d{2})(\\d{4})","$1 $2 $3",["[12]1"]
,"0$1",""]
,[,"([12]2\\d)(\\d{5})","$1 $2",["[12]2[1-3]"]
,[,"([12]2\\d)(\\d{5,6})","$1 $2",["[12]2[1-3]"]
,"0$1",""]
,[,"([12]\\d{3})(\\d{4})","$1 $2",["[12](?:27|[3-5])","[12](?:27|[3-5]\\d)2"]
,[,"([12]\\d{3})(\\d{5})","$1 $2",["[12](?:27|[3-5])","[12](?:27|[3-5]\\d)2"]
,"0$1",""]
,[,"([12]\\d{4})(\\d{3})","$1 $2",["[12](?:27|[3-5])","[12](?:27|[3-5]\\d)[4-9]"]
,[,"(\\d{4})(\\d{4})","$1 $2",["[57-9]"]
,"$1",""]
,[,"([12]\\d{4})(\\d{4,5})","$1 $2",["[12](?:27|[3-5])","[12](?:27|[3-5]\\d)[4-9]"]
,"0$1",""]
]
,,[,,"NA","NA"]
@ -2315,15 +2358,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"MQ",596,"00","0",,,"0",,,1,,,[,,"NA","NA"]
]
,"MR":[,[,,"[2-7]\\d{6}","\\d{7}"]
,[,,"5(?:1[035]|2[0-69]|3[0348]|4[468]|5[02-467]|6[39]|7[4-69])\\d{4}","\\d{7}"]
,[,,"(?:[23][0-4]|4[3-5]|6\\d|7[0-7])\\d{5}","\\d{7}"]
,[,,"NA","NA"]
,"MR":[,[,,"[2-4]\\d{6,7}|[5-7]\\d{6}|8\\d{7}","\\d{7,8}"]
,[,,"5(?:1[035]|2[0-69]|3[0348]|4[468]|5[02-467]|6[39]|7[4-69])\\d{4}|[2-4]5\\d{6}","\\d{7,8}"]
,[,,"(?:[23][0-4]|4[3-5]|6\\d|7[0-7])\\d{5}|(?:2[27]|3[367]|4[467])\\d{6}","\\d{7,8}"]
,[,,"800\\d{5}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"MR",222,"00",,,,,,,,[[,"([2-7]\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
,"MR",222,"00",,,,,,,,[[,"([2-48]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-48]"]
,"",""]
,[,"([2-7]\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[2-7]"]
,"",""]
]
,,[,,"NA","NA"]
]
@ -2337,15 +2383,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"MS",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
,,"664"]
,"MT":[,[]
,[]
,[]
,"MT":[,[,,"[2579]\\d{7}","\\d{8}"]
,[,,"2(?:0(?:1[0-6]|[69]\\d)|[1-357]\\d{2})\\d{4}","\\d{8}"]
,[,,"(?:7(?:210|[79]\\d{2}|)|9(?:2[13]\\d|696|8(?:1[1-3]|89|97)|9\\d{2}))\\d{4}","\\d{8}"]
,[,,"NA","NA"]
,[,,"50(?:0(?:3[1679]|4\\d)|[169]\\d{2}|7[06]\\d)\\d{3}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"MT",356,"00","21",,,"21",,,1,,,[,,"NA","NA"]
,"MT",356,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",,"",""]
]
,,[,,"7117\\d{4}","\\d{8}"]
]
,"MU":[,[,,"[2-9]\\d{6}","\\d{7}"]
,[,,"(?:2(?:[034789]\\d|1[0-8]|2[0-79])|4(?:[013-8]\\d|2[4-7])|[56]\\d{2}|8(?:14|3[129]))\\d{4}","\\d{7}"]
@ -2359,15 +2407,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"MV":[,[]
,[]
,[]
,"MV":[,[,,"[3679]\\d{6}","\\d{7}"]
,[,,"(?:3(?:00|3[0-59]|)|6(?:[567][02468]|8[024689]))\\d{4}","\\d{7}"]
,[,,"(?:7(?:[679]\\d|8[02-9])|9[6-9]\\d)\\d{4}","\\d{7}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"MV",960,"020","0",,,"0",,,1,,,[,,"NA","NA"]
,"MV",960,"0(?:0|19)",,,,,,"00",,[[,"(\\d{3})(\\d{4})","$1-$2",,"",""]
]
,,[,,"781\\d{4}","\\d{7}"]
]
,"MW":[,[,,"(?:[13-5]|[27]\\d{2}|[89](?:\\d{2})?)\\d{6}","\\d{7,9}"]
,[,,"(?:1[2-9]|21\\d{2})\\d{5}","\\d{7,9}"]
@ -2452,28 +2502,22 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"NA":[,[,,"[68]\\d{5,9}","\\d{4,10}"]
,[,,"6(?:1(?:[136]|2\\d?)\\d|2(?:[25]\\d?|[134678])\\d|3(?:2\\d{0,3}|4\\d{1,2}|[135-8]\\d?)|4(?:[13-8]\\d|2\\d{1,2})|(?:5(?:[16-7]\\d|[3-58]\\d?|2\\d{1,2}))|6\\d{0,4}|7\\d{0,3})\\d{4}","\\d{4,10}"]
,[,,"8(?:1(?:1[0-24]|[2-4]\\d|50|6[0-2])|5\\d{2})\\d{5}","\\d{9}"]
,[,,"NA","NA"]
,"NA":[,[,,"[68]\\d{7,8}","\\d{8,9}"]
,[,,"6(?:1(?:17|2(?:[0189]\\d|[23-6]|7\\d?)|3(?:2\\d|3[378])|4[01]|69|7[014])|2(?:17|25|5(?:[0-36-8]|4\\d?)|69|70)|3(?:17|2(?:[0237]\\d?|[14-689])|34|6[29]|7[01]|81)|4(?:17|2(?:[012]|7?)|4(?:[06]|1\\d)|5(?:[01357]|[25]\\d?)|69|7[01])|5(?:17|2(?:[0459]|[23678]\\d?)|69|7[01])|6(?:17|2(?:5|6\\d?)|38|42|69|7[01])|7(?:17|2(?:[569]|[234]\\d?)|3(?:0\\d?|[13])|69|7[01]))\\d{4}","\\d{8,9}"]
,[,,"(?:60|8[125])\\d{7}","\\d{9}"]
,[,,"NA","NA"]
,[,,"8701\\d{5}","\\d{9}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"88\\d{6}","\\d{8}"]
,"NA",264,"00","0",,,"0",,,,[[,"(8\\d)(\\d{3})(\\d{4})","$1 $2 $3",["8[15]"]
,"0$1",""]
,[,"(632532)(\\d{2,4})","$1 $2",["632","6325","63253","632532"]
,"0$1",""]
,[,"(6\\d)(\\d{2,3})(\\d{4})","$1 $2 $3",["6(?:1|[245][1-7]|3[125-7]|6[1256]|7[1236])"]
,[,,"886\\d{5}","\\d{8}"]
,"NA",264,"00","0",,,"0",,,,[[,"(8\\d)(\\d{3})(\\d{4})","$1 $2 $3",["8[125]"]
,"0$1",""]
,[,"(6\\d)(\\d{4,5})","$1 $2",["6(?:3[12567]|5[3-5]|6[1256]|7[1236])"]
,"0$1",""]
,[,"(6\\d{2})(\\d{4,6})","$1 $2",["6[2356]8"]
,"0$1",""]
,[,"(6\\d{3})(\\d{4,5})","$1 $2",["6(?:34|6[34]|75)","6(?:342|6[34]|751)"]
,[,"(6\\d)(\\d{2,3})(\\d{4})","$1 $2 $3",["6"]
,"0$1",""]
,[,"(88)(\\d{3})(\\d{3})","$1 $2 $3",["88"]
,"0$1",""]
,[,"(870)(\\d{3})(\\d{3})","$1 $2 $3",["870"]
,"0$1",""]
]
,,[,,"NA","NA"]
]
@ -2608,15 +2652,15 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"NR",674,"00","0",,,"0",,,1,,,[,,"NA","NA"]
]
,"NU":[,[]
,[]
,[]
,"NU":[,[,,"[1-5]\\d{3}","\\d{4}"]
,[,,"[34]\\d{3}","\\d{4}"]
,[,,"[125]\\d{3}","\\d{4}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"NU",683,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,"NU",683,"00",,,,,,,,,,[,,"NA","NA"]
]
,"NZ":[,[,,"[2-9]\\d{7,9}","\\d{7,10}"]
,[,,"(?:3[2-79]|[479][2-689]|6[235-9])\\d{6}|24099\\d{3}","\\d{7,8}"]
@ -2695,7 +2739,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"PG":[,[,,"[1-9]\\d{6,7}","\\d{7,8}"]
,[,,"(?:3\\d{2}|4[257]\\d|5[34]\\d|6(?:29|4[1-9])|85[02-46-9]|9[78]\\d)\\d{4}","\\d{7}"]
,[,,"(?:68|7(?:[126]\\d|3[34689]))\\d{5}","\\d{7,8}"]
,[,,"(?:68|7(?:[126]\\d|3[1-9]))\\d{5}","\\d{7,8}"]
,[,,"180\\d{4}","\\d{7}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -2795,15 +2839,22 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"PR",1,"011","1",,,"1",,,1,,,[,,"NA","NA"]
,,"787|939"]
,"PS":[,[]
,[]
,[]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"PS":[,[,,"(?:[24589]\\d{7,9}|1(?:[78]\\d{8}|[49]\\d{2,3}))","\\d{4,10}"]
,[,,"(?:22[2379]|42[45]|82[01458]|92[369])\\d{5}","\\d{7,8}"]
,[,,"5[69]\\d{7}","\\d{9}"]
,[,,"1800\\d{6}","\\d{10}"]
,[,,"1(?:4|9\\d)\\d{2}","\\d{4,5}"]
,[,,"1700\\d{6}","\\d{10}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"PS",970,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,"PS",970,"00","0",,,"0",,,,[[,"([2489])(2\\d{2})(\\d{4})","$1 $2 $3",["[2489]"]
,"0$1",""]
,[,"(5[69]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["5"]
,"0$1",""]
,[,"(1[78]00)(\\d{3})(\\d{3})","$1 $2 $3",["1[78]"]
,"$1",""]
]
,,[,,"NA","NA"]
]
,"PT":[,[,,"[2-46-9]\\d{8}","\\d{9}"]
,[,,"2(?:[12]\\d|[35][1-689]|4[1-59]|6[1-35689]|7[1-9]|8[1-69]|9[1256])\\d{6}","\\d{9}"]
@ -2959,27 +3010,32 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"SB",677,"00",,,,,,,1,,,[,,"NA","NA"]
]
,"SC":[,[,,"[2-8]\\d{5}","\\d{6}"]
,"SC":[,[,,"[2-8]\\d{5,6}","\\d{6,7}"]
,[,,"(?:2(?:1[78]|2[14-69]|3[2-4]|4[1-36-8]|6[167]|[89]\\d)|3(?:2[1-6]|4[4-6]|55|6[016]|7\\d|8[0-589]|9[0-5])|5(?:5\\d|6[0-2])|6(?:0[0-27-9]|1[0-478]|2[145]|3[02-4]|4[124]|6[015]|7\\d|8[1-3])|78[0138])\\d{3}","\\d{6}"]
,[,,"(?:5(?:[1247-9]\\d|6[3-9])|7(?:[14679]\\d|2[1-9]|8[24-79]))\\d{3}","\\d{6}"]
,[,,"8000\\d{2}","\\d{6}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"4[1-37]\\d{4}","\\d{6}"]
,"SC",248,"0[0-2]",,,,,,"00",,[[,"(\\d{3})(\\d{3})","$1 $2",,"",""]
,[,,"(?:4?4[1-3]|6?47)\\d{4}","\\d{6,7}"]
,"SC",248,"0[0-2]",,,,,,"00",,[[,"(\\d{3})(\\d{3})","$1 $2",["[23578]|[46][0-35-9]"]
,"",""]
,[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[46]4"]
,"",""]
]
,,[,,"NA","NA"]
]
,"SD":[,[]
,[]
,[]
,"SD":[,[,,"[19]\\d{8}","\\d{9}"]
,[,,"1(?:[25]\\d|8[3567])\\d{6}","\\d{9}"]
,[,,"9[1259]\\d{7}","\\d{9}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"SD",249,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,"SD",249,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""]
]
,,[,,"NA","NA"]
]
,"SE":[,[,,"\\d{7,10}","\\d{5,10}"]
,[,,"1(?:0[1-8]\\d{6}|[136]\\d{5,7}|(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\d)\\d{5,6})|2(?:[136]\\d{5,7}|(?:2[0-7]|4[0136-8]|5[0-38]|7[018]|8[01]|9[0-57])\\d{5,6})|3(?:[356]\\d{5,7}|(?:0[0-4]|1\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])\\d{5,6})|4(?:[0246]\\d{5,7}|(?:1[01-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])\\d{5,6})|5(?:0[0-6]|1[1-5]|2[0-68]|3[0-4]|4\\d|5[0-5]|6[03-5]|7[013]|8[0-79]|9[01])\\d{5,6}|6(?:[03]\\d{5,7}|(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])\\d{5,6})|8\\d{6,8}|9(?:0\\d{5,7}|(?:1[0-68]|2\\d|3[02-59]|4[0-4]|5[0-4]|6[01]|7[0135-8]|8[01])\\d{5,6})","\\d{5,9}"]
@ -3008,18 +3064,20 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"SG":[,[,,"[13689]\\d{7,10}","\\d{8,11}"]
,[,,"[36]\\d{7}","\\d{8}"]
,[,,"[89]\\d{7}","\\d{8}"]
,"SG":[,[,,"[36]\\d{7}|[17-9]\\d{7,10}","\\d{8,11}"]
,[,,"6[1-8]\\d{6}|7000\\d{7}","\\d{8,11}"]
,[,,"(?:8[1-5]|9[0-8])\\d{6}","\\d{8}"]
,[,,"1?800\\d{7}","\\d{10,11}"]
,[,,"1900\\d{7}","\\d{11}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"3[0-2]\\d{6}","\\d{8}"]
,"SG",65,"0[0-3][0-9]",,,,,,,,[[,"([3689]\\d{3})(\\d{4})","$1 $2",["[369]|8[1-9]"]
,"",""]
,[,"(1[89]00)(\\d{3})(\\d{4})","$1 $2 $3",["1[89]"]
,"",""]
,[,"(7000)(\\d{4})(\\d{3})","$1 $2 $3",["70"]
,"",""]
,[,"(800)(\\d{3})(\\d{4})","$1 $2 $3",["80"]
,"",""]
]
@ -3115,7 +3173,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"SO",252,"00",,,,,,,,[[,"([13-5])(\\d{6})","$1 $2",["[13-5]"]
,"",""]
,[,"([19]\\d)(\\d{6})","$1 $2",["[19]"]
,[,"([19]\\d)(\\d{6})","$1 $2",["15|9"]
,"",""]
]
,,[,,"NA","NA"]
@ -3167,17 +3225,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
]
,"SZ":[,[,,"[2-7]\\d{6,7}","\\d{7,8}"]
,"SZ":[,[,,"[02-7]\\d{6,7}","\\d{7,8}"]
,[,,"2?(?:2(?:0[07]|[13]7|2[57])|3(?:0[34]|[1278]3|3[23]|[46][34])|(?:40[4-69]|16|2[12]|3[57]|[4578]2|67)|5(?:0[5-7]|1[6-9]|[23][78]|48|5[01]))\\d{4}","\\d{7,8}"]
,[,,"(?:6|7[67])\\d{6}","\\d{7,8}"]
,[,,"NA","NA"]
,[,,"(?:6|7[6-8])\\d{6}","\\d{7,8}"]
,[,,"0800\\d{4}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"SZ",268,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[2-6]"]
,"",""]
,[,"(\\d{4})(\\d{4})","$1 $2",["7"]
,[,"(\\d{4})(\\d{4})","$1 $2",["[027]"]
,"",""]
]
,,[,,"NA","NA"]
@ -3511,7 +3569,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,"340"]
,"VN":[,[,,"8\\d{5,8}|[1-79]\\d{7,9}","\\d{7,10}"]
,[,,"(?:2(?:[025-79]|1[0189]|[348][01])|3(?:[0136-9]|[25][01])|[48]\\d|5(?:[01][01]|[2-9])|6(?:[0-46-8]|5[01])|7(?:[02-79]|[18][01]))\\d{7}|69\\d{5,6}|80\\d{5}","\\d{7,10}"]
,[,,"(?:9\\d|1(?:2[1-35-9]|6[3-9]|99))\\d{7}","\\d{9,10}"]
,[,,"(?:9\\d|1(?:2\\d|6[3-9]|88|99))\\d{7}","\\d{9,10}"]
,[,,"1800\\d{4,6}","\\d{8,10}"]
,[,,"1900\\d{4,6}","\\d{8,10}"]
,[,,"NA","NA"]
@ -3529,9 +3587,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"0$1",""]
,[,"(9\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"]
,"0$1",""]
,[,"(1[269]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1(?:[26]|99)"]
,[,"(1[2689]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1(?:[26]|88|99)"]
,"0$1",""]
,[,"(1[89]00)(\\d{4,6})","$1 $2",["1(?:8|90)"]
,[,"(1[89]00)(\\d{4,6})","$1 $2",["1[89]0"]
,"$1",""]
]
,,[,,"NA","NA"]
@ -3600,11 +3658,14 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"(?:1[0-8]|2[1-478]|3[1-69]|4\\d|5[1346-8])\\d{7}","\\d{8,9}"]
,[,,"(?:7[1-4689]|8[1-5789])\\d{7}","\\d{9}"]
,[,,"80\\d{7}","\\d{9}"]
,[,,"86\\d{7}","\\d{9}"]
,[,,"NA","NA"]
,[,,"86[1-9]\\d{6}","\\d{9}"]
,[,,"860\\d{6}","\\d{9}"]
,[,,"NA","NA"]
,[,,"87\\d{7}","\\d{9}"]
,"ZA",27,"00","0",,,"0",,,,[[,"([1-578]\\d)(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""]
,"ZA",27,"00","0",,,"0",,,,[[,"(860)(\\d{3})(\\d{3})","$1 $2 $3",["860"]
,"0$1",""]
,[,"([1-578]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[1-57]|8(?:[0-57-9]|6[1-9])"]
,"0$1",""]
]
,,[,,"NA","NA"]
]
@ -3625,7 +3686,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"ZW":[,[,,"2(?:[012457-9]\\d{3,8}|6\\d{3,6})|[13-79]\\d{4,8}|86\\d{8}","\\d{3,10}"]
,[,,"(?:1[3-9]|2(?:0[45]|[16]|2[28]|[49]8?|58[23]|7[246]|8[1346-9])|3(?:08?|17?|3[78]|[2456]|7[1569]|8[379])|5(?:[07-9]|1[78]|483|5(?:7?|8))|6(?:0|28|37?|[45][68][78]|98?)|848)\\d{3,6}|(?:2(?:27|5|7[135789]|8[25])|3[39]|5[1-46]|6[126-8])\\d{4,6}|2(?:0|70)\\d{5,6}|(?:4\\d|9[2-8])\\d{4,7}","\\d{3,10}"]
,[,,"(?:[19]1|7[13])\\d{6,7}","\\d{8,9}"]
,[,,"7[137]\\d{7}","\\d{9}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]


+ 291
- 112
javascript/i18n/phonenumbers/phonenumberutil.js
File diff suppressed because it is too large
View File


+ 99
- 7
javascript/i18n/phonenumbers/phonenumberutil_test.js View File

@ -24,6 +24,7 @@
goog.require('goog.testing.jsunit');
goog.require('i18n.phonenumbers.PhoneNumberUtil');
/** @type {i18n.phonenumbers.PhoneNumberUtil} */
var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance();
@ -135,6 +136,61 @@ function testGetLengthOfGeographicalAreaCode() {
assertEquals(0, phoneUtil.getLengthOfGeographicalAreaCode(number));
}
function testGetLengthOfNationalDestinationCode() {
/** @type {i18n.phonenumbers.PhoneNumber} */
var number = new i18n.phonenumbers.PhoneNumber();
// Google MTV, which has national destination code (NDC) "650".
number.setCountryCode(1);
number.setNationalNumber(6502530000);
assertEquals(3, phoneUtil.getLengthOfNationalDestinationCode(number));
// A North America toll-free number, which has NDC "800".
number.setCountryCode(1);
number.setNationalNumber(8002530000);
assertEquals(3, phoneUtil.getLengthOfNationalDestinationCode(number));
// Google London, which has NDC "20".
number.setCountryCode(44);
number.setNationalNumber(2070313000);
assertEquals(2, phoneUtil.getLengthOfNationalDestinationCode(number));
// A UK mobile phone, which has NDC "7123".
number.setCountryCode(44);
number.setNationalNumber(7123456789);
assertEquals(4, phoneUtil.getLengthOfNationalDestinationCode(number));
// Google Buenos Aires, which has NDC "11".
number.setCountryCode(54);
number.setNationalNumber(1155303000);
assertEquals(2, phoneUtil.getLengthOfNationalDestinationCode(number));
// An Argentinian mobile which has NDC "911".
number.setCountryCode(54);
number.setNationalNumber(91155303001);
assertEquals(3, phoneUtil.getLengthOfNationalDestinationCode(number));
// Google Sydney, which has NDC "2".
number.setCountryCode(61);
number.setNationalNumber(293744000);
assertEquals(1, phoneUtil.getLengthOfNationalDestinationCode(number));
// Google Singapore, which has NDC "6521".
number.setCountryCode(65);
number.setNationalNumber(65218000);
assertEquals(4, phoneUtil.getLengthOfNationalDestinationCode(number));
// An invalid US number (1 digit shorter), which has no NDC.
number.setCountryCode(1);
number.setNationalNumber(650253000);
assertEquals(0, phoneUtil.getLengthOfNationalDestinationCode(number));
// A number containing an invalid country code, which shouldn't have any NDC.
number.setCountryCode(123);
number.setNationalNumber(6502530000);
assertEquals(0, phoneUtil.getLengthOfNationalDestinationCode(number));
}
function testGetNationalSignificantNumber() {
/** @type {i18n.phonenumbers.PhoneNumber} */
var number = new i18n.phonenumbers.PhoneNumber();
@ -1326,10 +1382,10 @@ function testMaybeStripInternationalPrefix() {
numberToStrip = new goog.string.StringBuffer('0090112-3123');
strippedNumber = new goog.string.StringBuffer('00901123123');
assertEquals(CCS.FROM_DEFAULT_COUNTRY,
phoneUtil.maybeStripInternationalPrefixAndNormalize(numberToStrip,
internationalPrefix));
phoneUtil.maybeStripInternationalPrefixAndNormalize(
numberToStrip, internationalPrefix));
assertEquals('The number supplied had a 0 after the match so should not be ' +
'stripped.',
'stripped.',
strippedNumber.toString(), numberToStrip.toString());
// Here the 0 is separated by a space from the IDD.
numberToStrip = new goog.string.StringBuffer('009 0-112-3123');
@ -1392,9 +1448,9 @@ function testMaybeExtractCountryCode() {
0,
phoneUtil.maybeExtractCountryCode(phoneNumber, metadata,
numberToFill, true, number));
assertEquals('Did not figure out CountryCodeSource correctly',
CCS.FROM_DEFAULT_COUNTRY,
number.getCountryCodeSource());
assertEquals('Did not figure out CountryCodeSource correctly',
CCS.FROM_DEFAULT_COUNTRY,
number.getCountryCodeSource());
} catch (e) {
fail('Should not have thrown an exception: ' + e.toString());
}
@ -1517,7 +1573,7 @@ function testParseNationalNumber() {
assertTrue(usNumber.exactlySameAs(phoneUtil.parse('123-456-7890', 'US')));
}
function testParseNumberWithAlphaCharacters() {
function testParseNumberWithAlphaCharacters() {
// Test case with alpha characters.
/** @type {i18n.phonenumbers.PhoneNumber} */
var tollfreeNumber = new i18n.phonenumbers.PhoneNumber();
@ -1577,6 +1633,11 @@ function testParseWithInternationalPrefixes() {
phoneUtil.parse('\uFF0B\uFF11\u3000\uFF08\uFF16\uFF15\uFF10\uFF09' +
'\u3000\uFF13\uFF13\uFF13\uFF0D\uFF16\uFF10\uFF10\uFF10',
'SG')));
// Using U+30FC dash instead.
assertTrue(usNumber.exactlySameAs(
phoneUtil.parse('\uFF0B\uFF11\u3000\uFF08\uFF16\uFF15\uFF10\uFF09' +
'\u3000\uFF13\uFF13\uFF13\u30FC\uFF16\uFF10\uFF10\uFF10',
'SG')));
}
function testParseWithLeadingZero() {
@ -1823,6 +1884,25 @@ function testFailedParseOnInvalidNumbers() {
i18n.phonenumbers.Error.NOT_A_NUMBER,
e);
}
try {
// Invalid region.
phoneUtil.parse(null, 'ZZ');
fail('Null string - should fail.');
} catch (e) {
// Expected this exception.
assertEquals('Wrong error type stored in exception.',
i18n.phonenumbers.Error.NOT_A_NUMBER,
e);
}
try {
phoneUtil.parse(null, 'US');
fail('Null string - should fail.');
} catch (e) {
// Expected this exception.
assertEquals('Wrong error type stored in exception.',
i18n.phonenumbers.Error.NOT_A_NUMBER,
e);
}
}
function testParseNumbersWithPlusWithNoRegion() {
@ -1833,6 +1913,12 @@ function testParseNumbersWithPlusWithNoRegion() {
// 'ZZ' is allowed only if the number starts with a '+' - then the country
// code can be calculated.
assertTrue(nzNumber.exactlySameAs(phoneUtil.parse('+64 3 331 6005', 'ZZ')));
// Test with full-width plus.
assertTrue(nzNumber.exactlySameAs(
phoneUtil.parse('\uFF0B64 3 331 6005', 'ZZ')));
// Test with normal plus but leading characters that need to be stripped.
assertTrue(nzNumber.exactlySameAs(
phoneUtil.parse('Tel: +64 3 331 6005', 'ZZ')));
assertTrue(nzNumber.exactlySameAs(phoneUtil.parse('+64 3 331 6005', null)));
nzNumber.setRawInput('+64 3 331 6005');
nzNumber.setCountryCodeSource(i18n.phonenumbers.PhoneNumber
@ -1918,6 +2004,12 @@ function testParseExtensions() {
phoneUtil.parse('(800) 901-3355 , ext 7246433', 'US')));
assertTrue(usWithExtension.exactlySameAs(
phoneUtil.parse('(800) 901-3355 ,extension 7246433', 'US')));
assertTrue(usWithExtension.exactlySameAs(
phoneUtil.parse('(800) 901-3355 ,extensi\u00F3n 7246433', 'US')));
// Repeat with the small letter o with acute accent created by combining
// characters.
assertTrue(usWithExtension.exactlySameAs(
phoneUtil.parse('(800) 901-3355 ,extensio\u0301n 7246433', 'US')));
assertTrue(usWithExtension.exactlySameAs(
phoneUtil.parse('(800) 901-3355 , 7246433', 'US')));
assertTrue(usWithExtension.exactlySameAs(


Loading…
Cancel
Save