Browse Source

JS: libphonenumber v3.2.

pull/567/head
Nikolaos Trogkanis 15 years ago
committed by Mihaela Rosca
parent
commit
86771e90cf
11 changed files with 1806 additions and 1159 deletions
  1. +12
    -6
      java/resources/com/google/i18n/phonenumbers/BuildMetadataJsonFromXml.java
  2. +6
    -6
      javascript/README
  3. +139
    -121
      javascript/i18n/phonenumbers/asyoutypeformatter.js
  4. +5
    -5
      javascript/i18n/phonenumbers/asyoutypeformatter_test.js
  5. +190
    -157
      javascript/i18n/phonenumbers/metadata.js
  6. +10
    -10
      javascript/i18n/phonenumbers/metadatafortesting.js
  7. +190
    -157
      javascript/i18n/phonenumbers/metadatalite.js
  8. +58
    -1
      javascript/i18n/phonenumbers/phonemetadata.pb.js
  9. +1
    -1
      javascript/i18n/phonenumbers/phonenumber.pb.js
  10. +743
    -449
      javascript/i18n/phonenumbers/phonenumberutil.js
  11. +452
    -246
      javascript/i18n/phonenumbers/phonenumberutil_test.js

+ 12
- 6
java/resources/com/google/i18n/phonenumbers/BuildMetadataJsonFromXml.java View File

@ -51,7 +51,7 @@ public class BuildMetadataJsonFromXml {
"BuildMetadataJsonFromXml PhoneNumberMetadata.xml metadatalite.js true\n";
static final String COPYRIGHT_NOTICE =
"/*\n" +
"/**\n" +
" * @license\n" +
" * Copyright (C) 2010 Google Inc.\n" +
" *\n" +
@ -77,9 +77,9 @@ public class BuildMetadataJsonFromXml {
private static final String COUNTRY_CODE_TO_REGION_CODE_MAP_COMMENT =
"/**\n" +
" * A mapping from a country code to the region codes which denote the\n" +
" * country/region represented by that country code. In the case of multiple\n" +
" * countries sharing a calling code, such as the NANPA countries, the one\n" +
" * A mapping from a country calling code to the region codes which denote the\n" +
" * region represented by that country calling code. In the case of multiple\n" +
" * countries sharing a calling code, such as the NANPA regions, the one\n" +
" * indicated with \"isMainCountryForCode\" in the metadata should be first.\n" +
" * @type {Object.<number, Array.<string>>}\n" +
" */\n";
@ -114,7 +114,7 @@ public class BuildMetadataJsonFromXml {
writer.write(COUNTRY_CODE_TO_REGION_CODE_MAP_COMMENT);
writer.write(NAMESPACE + ".countryCodeToRegionCodeMap = ");
writeCountryCodeCodeToRegionCodeMap(countryCodeToRegionCodeMap, writer);
writeCountryCodeToRegionCodeMap(countryCodeToRegionCodeMap, writer);
writer.write(";\n\n");
writer.write(COUNTRY_TO_METADATA_COMMENT);
@ -149,7 +149,7 @@ public class BuildMetadataJsonFromXml {
}
// Writes a Map<Integer, List<String>> in JSON format.
private static void writeCountryCodeCodeToRegionCodeMap(
private static void writeCountryCodeToRegionCodeMap(
Map<Integer, List<String>> countryCodeToRegionCodeMap,
BufferedWriter writer) throws IOException {
writer.write("{\n");
@ -349,6 +349,12 @@ public class BuildMetadataJsonFromXml {
toJsArray(metadata.getNoInternationalDialling(), jsArrayBuilder);
// required PhoneNumberDesc uan = 25;
toJsArray(metadata.getUan(), jsArrayBuilder);
// optional bool leading_zero_possible = 26 [default=false];
if (metadata.isLeadingZeroPossible()) {
jsArrayBuilder.append(1);
} else {
jsArrayBuilder.append(null);
}
jsArrayBuilder.endArray();
}


+ 6
- 6
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 107).
The JavaScript library is ported from the Java implementation (revision 166).
When the Java project gets updated follow these steps to update the JavaScript
project:
@ -33,25 +33,25 @@ project:
have changed:
a. Manually update the .pb.js files with the changes of the .proto files.
b. Manually update the toJsArray() Java methods in
/java/resources/com/google/i18n/phonenumbers/BuildMetadataJsonFromXml.java
java/resources/com/google/i18n/phonenumbers/BuildMetadataJsonFromXml.java
2. If the phone number metadata in the XML format has changed
(java/resources/com/google/i18n/phonenumbers/src/PhoneNumberMetaData.xml)
(resources/PhoneNumberMetaData.xml)
run the following commands to regenerate metadata.js and
metadatafortesting.js:
ant -f java/build.xml
java -cp java/build/classes \
com.google.i18n.phonenumbers.BuildMetadataJsonFromXml \
java/resources/com/google/i18n/phonenumbers/src/PhoneNumberMetaData.xml \
resources/PhoneNumberMetaData.xml \
javascript/i18n/phonenumbers/metadata.js false
java -cp java/build/classes \
com.google.i18n.phonenumbers.BuildMetadataJsonFromXml \
java/resources/com/google/i18n/phonenumbers/src/PhoneNumberMetaData.xml \
resources/PhoneNumberMetaData.xml \
javascript/i18n/phonenumbers/metadatalite.js true
java -cp java/build/classes \
com.google.i18n.phonenumbers.BuildMetadataJsonFromXml \
java/resources/com/google/i18n/phonenumbers/test/PhoneNumberMetaDataForTesting.xml \
resources/PhoneNumberMetaDataForTesting.xml \
javascript/i18n/phonenumbers/metadatafortesting.js false
3. Manually port any changes of the Java code to the JavaScript code:


+ 139
- 121
javascript/i18n/phonenumbers/asyoutypeformatter.js View File

@ -1,4 +1,4 @@
/*
/**
* @license
* Copyright (C) 2010 Google Inc.
*
@ -19,15 +19,13 @@
* @fileoverview A formatter which formats phone numbers as they are entered.
* (based on the java implementation).
*
* An AsYouTypeFormatter could be created by new AsYouTypeFormatter(). After
* that digits could be added by invoking the inputDigit method on the formatter
* <p>An AsYouTypeFormatter could be created by new AsYouTypeFormatter(). After
* that digits could be added by invoking {@link #inputDigit} on the formatter
* instance, and the partially formatted phone number will be returned each time
* a digit is added. The clear method should be invoked before a new number
* needs to be formatted.
* a digit is added. {@link #clear} could be invoked before a new number needs
* to be formatted.
*
* See testAsYouTypeFormatterUS(), testAsYouTestFormatterGB() and
* testAsYouTypeFormatterDE() in asyoutypeformatter_test.js for more details
* on how the formatter is to be used.
* <p>See the unittests for more details on how the formatter is to be used.
*
* @author Nikolaos Trogkanis
*/
@ -47,43 +45,13 @@ goog.require('i18n.phonenumbers.metadata');
/**
* Constructs a light-weight formatter which does no formatting, but outputs
* exactly what is fed into the inputDigit method.
* Constructs an AsYouTypeFormatter for the specific region.
*
* @param {string} regionCode the country/region where the phone number is being
* entered.
* @param {string} regionCode the ISO 3166-1 two-letter region code that denotes
* the region where the phone number is being entered.
* @constructor
*/
i18n.phonenumbers.AsYouTypeFormatter = function(regionCode) {
/**
* A pattern that is used to match character classes in regular expressions.
* An example of a character class is [1-4].
* @const
* @type {RegExp}
* @private
*/
this.CHARACTER_CLASS_PATTERN_ = /\[([^\[\]])*\]/g;
/**
* Any digit in a regular expression that actually denotes a digit. For
* example, in the regular expression 80[0-2]\d{6,10}, the first 2 digits
* (8 and 0) are standalone digits, but the rest are not.
* Two look-aheads are needed because the number following \\d could be a
* two-digit number, since the phone number can be as long as 15 digits.
* @const
* @type {RegExp}
* @private
*/
this.STANDALONE_DIGIT_PATTERN_ = /\d(?=[^,}][^,}])/g;
/**
* This is the minimum length of national number accrued that is required to
* trigger the formatter. The first element of the leadingDigitsPattern of
* each numberFormat contains a regular expression that matches up to this
* number of digits.
* @const
* @type {number}
* @private
*/
this.MIN_LEADING_DIGITS_LENGTH_ = 3;
/**
* The digits that have not been entered yet will be represented by a \u2008,
* the punctuation space.
@ -138,7 +106,7 @@ i18n.phonenumbers.AsYouTypeFormatter = function(regionCode) {
* @type {boolean}
* @private
*/
this.isExpectingCountryCode_ = false;
this.isExpectingCountryCallingCode_ = false;
/**
* @type {i18n.phonenumbers.PhoneNumberUtil}
* @private
@ -185,7 +153,7 @@ i18n.phonenumbers.AsYouTypeFormatter = function(regionCode) {
* @private
*/
this.defaultCountry_ = regionCode;
this.initializeCountrySpecificInfo_(this.defaultCountry_);
this.currentMetaData_ = this.getMetadataForRegion_(this.defaultCountry_);
/**
* @type {i18n.phonenumbers.PhoneMetadata}
* @private
@ -194,28 +162,71 @@ i18n.phonenumbers.AsYouTypeFormatter = function(regionCode) {
};
/**
* @const
* @type {i18n.phonenumbers.PhoneMetadata}
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.EMPTY_METADATA_ =
new i18n.phonenumbers.PhoneMetadata();
i18n.phonenumbers.AsYouTypeFormatter.EMPTY_METADATA_
.setInternationalPrefix('NA');
/**
* A pattern that is used to match character classes in regular expressions.
* An example of a character class is [1-4].
* @const
* @type {RegExp}
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.CHARACTER_CLASS_PATTERN_ =
/\[([^\[\]])*\]/g;
/**
* Any digit in a regular expression that actually denotes a digit. For
* example, in the regular expression 80[0-2]\d{6,10}, the first 2 digits
* (8 and 0) are standalone digits, but the rest are not.
* Two look-aheads are needed because the number following \\d could be a
* two-digit number, since the phone number can be as long as 15 digits.
* @const
* @type {RegExp}
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.STANDALONE_DIGIT_PATTERN_ =
/\d(?=[^,}][^,}])/g;
/**
* This is the minimum length of national number accrued that is required to
* trigger the formatter. The first element of the leadingDigitsPattern of
* each numberFormat contains a regular expression that matches up to this
* number of digits.
* @const
* @type {number}
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.MIN_LEADING_DIGITS_LENGTH_ = 3;
/**
* @param {string} regionCode
* @return {i18n.phonenumbers.PhoneMetadata}
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.initializeCountrySpecificInfo_ =
i18n.phonenumbers.AsYouTypeFormatter.prototype.getMetadataForRegion_ =
function(regionCode) {
/** @type {i18n.phonenumbers.PhoneMetadata} */
this.currentMetaData_ = this.phoneUtil_.getMetadataForRegion(regionCode);
if (this.currentMetaData_ == null) {
// Set to a default instance of the metadata. This allows us to function
// with an incorrect region code, even if formatting only works for numbers
// specified with '+'.
this.currentMetaData_ = new i18n.phonenumbers.PhoneMetadata();
this.currentMetaData_.setInternationalPrefix('NA');
var metadata = this.phoneUtil_.getMetadataForRegion(regionCode);
if (metadata != null) {
return metadata;
}
/** @type {RegExp} */
this.nationalPrefixForParsing_ = new RegExp('^(' + this.currentMetaData_
.getNationalPrefixForParsing() + ')');
/** @type {RegExp} */
this.internationalPrefix_ = new RegExp('^(' + '\\+|' +
this.currentMetaData_.getInternationalPrefix() + ')');
// Set to a default instance of the metadata. This allows us to function with
// an incorrect region code, even if formatting only works for numbers
// specified with '+'.
return i18n.phonenumbers.AsYouTypeFormatter.EMPTY_METADATA_;
};
@ -275,20 +286,19 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.narrowDownPossibleFormats_ =
/** @type {Array.<i18n.phonenumbers.NumberFormat>} */
var possibleFormats = [];
/** @type {number} */
var lengthOfLeadingDigits = leadingDigits.length;
/** @type {number} */
var indexOfLeadingDigitsPattern =
lengthOfLeadingDigits - this.MIN_LEADING_DIGITS_LENGTH_;
leadingDigits.length -
i18n.phonenumbers.AsYouTypeFormatter.MIN_LEADING_DIGITS_LENGTH_;
/** @type {number} */
var possibleFormatsLength = this.possibleFormats_.length;
for (var i = 0; i < possibleFormatsLength; ++i) {
/** @type {i18n.phonenumbers.NumberFormat} */
var format = this.possibleFormats_[i];
if (format.leadingDigitsPatternCount() > indexOfLeadingDigitsPattern) {
/** @type {RegExp} */
var leadingDigitsPattern = new RegExp('^(' +
format.getLeadingDigitsPattern(indexOfLeadingDigitsPattern) + ')');
if (leadingDigitsPattern.test(leadingDigits)) {
/** @type {string} */
var leadingDigitsPattern =
format.getLeadingDigitsPatternOrDefault(indexOfLeadingDigitsPattern);
if (leadingDigits.search(leadingDigitsPattern) == 0) {
possibleFormats.push(this.possibleFormats_[i]);
}
} else {
@ -309,8 +319,6 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.narrowDownPossibleFormats_ =
i18n.phonenumbers.AsYouTypeFormatter.prototype.createFormattingTemplate_ =
function(format) {
/** @type {string} */
var numberFormat = format.getFormatOrDefault();
/** @type {string} */
var numberPattern = format.getPatternOrDefault();
@ -321,13 +329,16 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.createFormattingTemplate_ =
}
// Replace anything in the form of [..] with \d
numberPattern = numberPattern.replace(this.CHARACTER_CLASS_PATTERN_, '\\d');
numberPattern = numberPattern.replace(
i18n.phonenumbers.AsYouTypeFormatter.CHARACTER_CLASS_PATTERN_, '\\d');
// Replace any standalone digit (not the one in d{}) with \d
numberPattern = numberPattern.replace(this.STANDALONE_DIGIT_PATTERN_, '\\d');
numberPattern = numberPattern.replace(
i18n.phonenumbers.AsYouTypeFormatter.STANDALONE_DIGIT_PATTERN_, '\\d');
this.formattingTemplate_.clear();
/** @type {string} */
var tempTemplate = this.getFormattingTemplate_(numberPattern, numberFormat);
var tempTemplate = this.getFormattingTemplate_(numberPattern,
format.getFormatOrDefault());
if (tempTemplate.length > this.nationalNumber_.getLength()) {
this.formattingTemplate_.append(tempTemplate);
return true;
@ -383,10 +394,10 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.clear = function() {
this.positionToRemember_ = 0;
this.originalPosition_ = 0;
this.isInternationalFormatting_ = false;
this.isExpectingCountryCode_ = false;
this.isExpectingCountryCallingCode_ = false;
this.possibleFormats_ = [];
if (this.currentMetaData_ != this.defaultMetaData_) {
this.initializeCountrySpecificInfo_(this.defaultCountry_);
this.currentMetaData_ = this.getMetadataForRegion_(this.defaultCountry_);
}
};
@ -395,7 +406,10 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.clear = function() {
* Formats a phone number on-the-fly as each digit is entered.
*
* @param {string} nextChar the most recently entered digit of a phone number.
* Formatting characters are allowed, but they are removed from the result.
* Formatting characters are allowed, but as soon as they are encountered
* this method formats the number as entered and not 'as you type' anymore.
* Full width digits and Arabic-indic digits are allowed, and will be shown
* as they are.
* @return {string} the partially formatted phone number.
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.inputDigit = function(nextChar) {
@ -406,10 +420,11 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.inputDigit = function(nextChar) {
/**
* Same as inputDigit, but remembers the position where nextChar is inserted, so
* that it could be retrieved later by using getRememberedPosition(). The
* remembered position will be automatically adjusted if additional formatting
* characters are later inserted/removed in front of nextChar.
* Same as {@link #inputDigit}, but remembers the position where
* {@code nextChar} is inserted, so that it could be retrieved later by using
* {@link #getRememberedPosition}. The remembered position will be automatically
* adjusted if additional formatting characters are later inserted/removed in
* front of {@code nextChar}.
*
* @param {string} nextChar
* @return {string}
@ -454,13 +469,13 @@ 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: // when the first few inputs are neither digits nor the plus sign.
case 0:
case 1:
case 2:
return this.accruedInput_.toString();
case 3:
if (this.attemptToExtractIdd_()) {
this.isExpectingCountryCode_ = true;
this.isExpectingCountryCallingCode_ = true;
} else {
// No IDD or plus sign is found, must be entering in national format.
this.removeNationalPrefixFromNationalNumber_();
@ -468,18 +483,18 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.
}
case 4:
case 5:
if (this.isExpectingCountryCode_) {
if (this.attemptToExtractCountryCode_()) {
this.isExpectingCountryCode_ = false;
if (this.isExpectingCountryCallingCode_) {
if (this.attemptToExtractCountryCallingCode_()) {
this.isExpectingCountryCallingCode_ = 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.
// We make a last attempt to extract a country calling code at the 6th digit
// because the maximum length of IDD and country calling code are both 3.
case 6:
if (this.isExpectingCountryCode_ &&
!this.attemptToExtractCountryCode_()) {
if (this.isExpectingCountryCallingCode_ &&
!this.attemptToExtractCountryCallingCode_()) {
this.ableToFormat_ = false;
return this.accruedInput_.toString();
}
@ -527,7 +542,7 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToFormatAccruedDigits_ =
/** @type {string} */
var pattern = numFormat.getPatternOrDefault();
/** @type {RegExp} */
var patternRegExp = new RegExp('^(' + pattern + ')$');
var patternRegExp = new RegExp('^(?:' + pattern + ')$');
if (patternRegExp.test(nationalNumber)) {
/** @type {string} */
var formattedNumber = nationalNumber.replace(new RegExp(pattern, 'g'),
@ -542,7 +557,7 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToFormatAccruedDigits_ =
/**
* Returns the current position in the partially formatted phone number of the
* character which was previously passed in as the parameter of
* inputDigitAndRememberPosition().
* {@link #inputDigitAndRememberPosition}.
*
* @return {number}
*/
@ -561,17 +576,13 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.getRememberedPosition =
this.accruedInputWithoutFormatting_.toString();
/** @type {string} */
var currentOutput = this.currentOutput_.toString();
/** @type {number} */
var currentOutputLength = currentOutput.length;
while (accruedInputIndex < this.positionToRemember_ &&
currentOutputIndex < currentOutputLength) {
currentOutputIndex < currentOutput.length) {
if (accruedInputWithoutFormatting.charAt(accruedInputIndex) ==
currentOutput.charAt(currentOutputIndex)) {
accruedInputIndex++;
currentOutputIndex++;
} else {
currentOutputIndex++;
}
currentOutputIndex++;
}
return currentOutputIndex;
};
@ -591,9 +602,11 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.
var nationalNumber = this.nationalNumber_.toString();
// We start to attempt to format only when as least MIN_LEADING_DIGITS_LENGTH
// digits of national number (excluding national prefix) have been entered.
if (nationalNumber.length >= this.MIN_LEADING_DIGITS_LENGTH_) {
if (nationalNumber.length >=
i18n.phonenumbers.AsYouTypeFormatter.MIN_LEADING_DIGITS_LENGTH_) {
this.getAvailableFormats_(
nationalNumber.substring(0, this.MIN_LEADING_DIGITS_LENGTH_));
nationalNumber.substring(0,
i18n.phonenumbers.AsYouTypeFormatter.MIN_LEADING_DIGITS_LENGTH_));
this.maybeCreateNewTemplate_();
return this.inputAccruedNationalNumber_();
} else {
@ -648,8 +661,11 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.
this.prefixBeforeNationalNumber_.append('1 ');
this.isInternationalFormatting_ = true;
} else if (this.currentMetaData_.hasNationalPrefix()) {
/** @type {RegExp} */
var nationalPrefixForParsing = new RegExp(
'^(?:' + this.currentMetaData_.getNationalPrefixForParsing() + ')');
/** @type {Array.<string>} */
var m = nationalNumber.match(this.nationalPrefixForParsing_);
var m = nationalNumber.match(nationalPrefixForParsing);
if (m != null && m[0] != null && m[0].length > 0) {
// When the national prefix is detected, we use international formatting
// rules instead of national ones, because national formatting rules could
@ -679,17 +695,21 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToExtractIdd_ =
/** @type {string} */
var accruedInputWithoutFormatting =
this.accruedInputWithoutFormatting_.toString();
/** @type {RegExp} */
var internationalPrefix = new RegExp(
'^(?:' + '\\' + i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN + '|' +
this.currentMetaData_.getInternationalPrefix() + ')');
/** @type {Array.<string>} */
var m = accruedInputWithoutFormatting.match(this.internationalPrefix_);
var m = accruedInputWithoutFormatting.match(internationalPrefix);
if (m != null && m[0] != null && m[0].length > 0) {
this.isInternationalFormatting_ = true;
/** @type {number} */
var startOfCountryCode = m[0].length;
var startOfCountryCallingCode = m[0].length;
this.nationalNumber_.clear();
this.nationalNumber_.append(
accruedInputWithoutFormatting.substring(startOfCountryCode));
accruedInputWithoutFormatting.substring(startOfCountryCallingCode));
this.prefixBeforeNationalNumber_.append(
accruedInputWithoutFormatting.substring(0, startOfCountryCode));
accruedInputWithoutFormatting.substring(0, startOfCountryCallingCode));
if (accruedInputWithoutFormatting.charAt(0) !=
i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN) {
this.prefixBeforeNationalNumber_.append(' ');
@ -701,39 +721,37 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToExtractIdd_ =
/**
* Extracts country code from the beginning of nationalNumber to
* Extracts the country calling code from the beginning of nationalNumber to
* prefixBeforeNationalNumber when they are available, and places the remaining
* input into nationalNumber.
*
* @return {boolean} true when a valid country code can be found.
* @return {boolean} true when a valid country calling code can be found.
* @private
*/
i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToExtractCountryCode_ =
function() {
i18n.phonenumbers.AsYouTypeFormatter.prototype.
attemptToExtractCountryCallingCode_ = function() {
if (this.nationalNumber_.getLength() == 0) {
return false;
}
/** @type {!goog.string.StringBuffer} */
var numberWithoutCountryCode = new goog.string.StringBuffer();
var numberWithoutCountryCallingCode = new goog.string.StringBuffer();
/** @type {number} */
var countryCode = this.phoneUtil_.extractCountryCode(
this.nationalNumber_, numberWithoutCountryCode);
this.nationalNumber_, numberWithoutCountryCallingCode);
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(' ');
}
this.nationalNumber_.clear();
this.nationalNumber_.append(numberWithoutCountryCallingCode.toString());
/** @type {string} */
var newRegionCode = this.phoneUtil_.getRegionCodeForCountryCode(countryCode);
if (newRegionCode != this.defaultCountry_) {
this.currentMetaData_ = this.getMetadataForRegion_(newRegionCode);
}
/** @type {string} */
var countryCodeString = '' + countryCode;
this.prefixBeforeNationalNumber_.append(countryCodeString).append(' ');
return true;
};
@ -743,7 +761,8 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.attemptToExtractCountryCode_ =
* use. If nextChar contains a digit in non-ASCII format (e.g. the full-width
* version of digits), it is first normalized to the ASCII version. The return
* value is nextChar itself, or its normalized version, if nextChar is a digit
* in non-ASCII format.
* in non-ASCII format. This method assumes its input is either a digit or the
* plus sign.
*
* @param {string} nextChar
* @param {boolean} rememberPosition
@ -756,8 +775,7 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.
if (nextChar == i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN) {
this.accruedInputWithoutFormatting_.append(nextChar);
}
if (nextChar in i18n.phonenumbers.PhoneNumberUtil.DIGIT_MAPPINGS) {
} else {
nextChar = i18n.phonenumbers.PhoneNumberUtil.DIGIT_MAPPINGS[nextChar];
this.accruedInputWithoutFormatting_.append(nextChar);
this.nationalNumber_.append(nextChar);


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

@ -1,4 +1,4 @@
/*
/**
* @license
* Copyright (C) 2010 Google Inc.
*
@ -393,10 +393,10 @@ function testAYTFDE() {
assertEquals('0', f.inputDigit('0'));
assertEquals('03', f.inputDigit('3'));
assertEquals('030', f.inputDigit('0'));
assertEquals('030 1', f.inputDigit('1'));
assertEquals('030 12', f.inputDigit('2'));
assertEquals('030 123', f.inputDigit('3'));
assertEquals('030 1234', f.inputDigit('4'));
assertEquals('030/1', f.inputDigit('1'));
assertEquals('030/12', f.inputDigit('2'));
assertEquals('030/123', f.inputDigit('3'));
assertEquals('030/1234', f.inputDigit('4'));
// 04134 1234
f.clear();


+ 190
- 157
javascript/i18n/phonenumbers/metadata.js View File

@ -1,4 +1,4 @@
/*
/**
* @license
* Copyright (C) 2010 Google Inc.
*
@ -17,15 +17,15 @@
/**
* @fileoverview Generated metadata for file
* java/resources/com/google/i18n/phonenumbers/src/PhoneNumberMetaData.xml
* resources/PhoneNumberMetaData.xml
* @author Nikolaos Trogkanis
*/
goog.provide('i18n.phonenumbers.metadata');
/**
* A mapping from a country code to the region codes which denote the
* country/region represented by that country code. In the case of multiple
* A mapping from a country calling code to the region codes which denote the
* region represented by that country calling code. In the case of multiple
* countries sharing a calling code, such as the NANPA countries, the one
* indicated with "isMainCountryForCode" in the metadata should be first.
* @type {Object.<number, Array.<string>>}
@ -48,7 +48,7 @@ i18n.phonenumbers.metadata.countryCodeToRegionCodeMap = {
,44:["GB","GG","IM","JE"]
,45:["DK"]
,46:["SE"]
,47:["NO"]
,47:["NO","SJ"]
,48:["PL"]
,49:["DE"]
,51:["PE"]
@ -307,8 +307,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"AG":[,[,,"[289]\\d{9}","\\d{7,10}"]
,[,,"268(?:4(?:6[0-38]|84)|56[0-2])\\d{4}","\\d{7,10}",,,"2684601234"]
,"AG":[,[,,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"268(?:4(?:6[0-38]|84)|56[0-2])\\d{4}","\\d{7}(?:\\d{3})?",,,"2684601234"]
,[,,"268(?:464|7(?:2[0-9]|64|7[0-689]|8[02-68]))\\d{4}","\\d{10}",,,"2684641234"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
@ -319,8 +319,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,"268",[,,"NA","NA"]
,[,,"NA","NA"]
]
,"AI":[,[,,"[289]\\d{9}","\\d{7,10}"]
,[,,"2644(?:6[12]|9[78])\\d{4}","\\d{7,10}",,,"2644612345"]
,"AI":[,[,,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"2644(?:6[12]|9[78])\\d{4}","\\d{7}(?:\\d{3})?",,,"2644612345"]
,[,,"264(?:235|476|5(?:3[6-9]|8[1-4])|7(?:29|72))\\d{4}","\\d{10}",,,"2642351234"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
@ -444,8 +444,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"AS":[,[,,"[689]\\d{9}","\\d{7,10}"]
,[,,"6846(?:22|33|44|55|77|88|9[19])\\d{4}","\\d{7,10}",,,"6846221234"]
,"AS":[,[,,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"6846(?:22|33|44|55|77|88|9[19])\\d{4}","\\d{7}(?:\\d{3})?",,,"6846221234"]
,[,,"684(?:733|258)\\d{4}","\\d{10}",,,"6847331234"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
@ -477,7 +477,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"AU":[,[,,"[1-578]\\d{5,9}","\\d{6,10}"]
,[,,"[2378]\\d{8}","\\d{8,9}",,,"212345678"]
,[,,"4[0-68]\\d{7}","\\d{9}",,,"412345678"]
,[,,"4(?:[0-2]\\d|3[0-57-9]|4[47-9]|5[0-37-9]|6[6-9]|7[07-9]|8[7-9])\\d{6}","\\d{9}",,,"412345678"]
,[,,"1(?:80(?:0\\d{2})?|3(?:00\\d{2})?)\\d{4}","\\d{6,10}",,,"1800123456"]
,[,,"190[0126]\\d{6}","\\d{10}",,,"1900123456"]
,[,,"NA","NA"]
@ -515,8 +515,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
]
,"AZ":[,[,,"[1-8]\\d{7,8}","\\d{5,9}"]
,[,,"(?:1(?:(?:[28]\\d|9)\\d|02|1[0-589]|3[358]|4[013-79]|5[0-479]|6[02346-9]|7[0-24-8])|2(?:16|2\\d|3[0-24]|4[1468]|55|6[56]|79)|365?\\d)\\d{5}","\\d{5,9}",,,"123123456"]
,[,,"(?:4[04]|5[015]|60|7[07])\\d{7}","\\d{9}",,,"401234567"]
,[,,"(?:1(?:(?:[28]\\d|9)\\d|02|1[0-589]|3[358]|4[013-79]|5[0-479]|6[02346-9]|7[0-24-8])|2(?:16|2\\d|3[0-24]|4[1468]|55|6[56]|79)|365?\\d|44\\d{2})\\d{5}","\\d{5,9}",,,"123123456"]
,[,,"(?:[46]0|5[015]|7[07])\\d{7}","\\d{9}",,,"401234567"]
,[,,"88\\d{7}","\\d{9}",,,"881234567"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -551,8 +551,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"81\\d{6}","\\d{8}",,,"81123456"]
]
,"BB":[,[,,"[289]\\d{9}","\\d{7,10}"]
,[,,"246[2-9]\\d{6}","\\d{7,10}",,,"2462345678"]
,"BB":[,[,,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"246[2-9]\\d{6}","\\d{7}(?:\\d{3})?",,,"2462345678"]
,[,,"246(?:(?:2[346]|45|82)\\d|25[0-4])\\d{4}","\\d{10}",,,"2462501234"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
@ -698,8 +698,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"BM":[,[,,"[489]\\d{9}","\\d{7,10}"]
,[,,"441(?:2(?:02|23|61|[3479]\\d)|[46]\\d{2}|5(?:4\\d|60|89)|824)\\d{4}","\\d{7,10}",,,"4412345678"]
,"BM":[,[,,"[4589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"441(?:2(?:02|23|61|[3479]\\d)|[46]\\d{2}|5(?:4\\d|60|89)|824)\\d{4}","\\d{7}(?:\\d{3})?",,,"4412345678"]
,[,,"441(?:[37]\\d|5[0-39])\\d{5}","\\d{10}",,,"4413701234"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
@ -760,8 +760,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"BS":[,[,,"[289]\\d{9}","\\d{7,10}"]
,[,,"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3467]|8[0-4]|9[2-467])|461|502|6(?:12|7[67]|8[78]|9[89])|702)\\d{4}","\\d{7,10}",,,"2423456789"]
,"BS":[,[,,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3467]|8[0-4]|9[2-467])|461|502|6(?:12|7[67]|8[78]|9[89])|702)\\d{4}","\\d{7}(?:\\d{3})?",,,"2423456789"]
,[,,"242(?:3(?:5[79]|[79]5)|4(?:[2-4][1-9]|5[1-8]|6[2-8]|7\\d|81)|5(?:2[34]|3[35]|44|5[1-9]|65|77)|6[34]6|727)\\d{4}","\\d{10}",,,"2423591234"]
,[,,"242300\\d{4}|8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
@ -839,11 +839,11 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"CA":[,[,,"[2-9]\\d{9}|3\\d{6}","\\d{7,10}"]
,[,,"(?:2(?:04|26|50|89)|3(?:06|43)|4(?:03|1[68]|38|5[06])|5(?:0[06]|1[49]|79|8[17])|6(?:0[04]|13|47)|7(?:0[059]|[18]0|78)|8(?:[06]7|19|)|90[25])[2-9]\\d{6}|310\\d{4}","\\d{7,10}",,,"2042345678"]
,[,,"(?:2(?:04|26|50|89)|3(?:06|43)|4(?:03|1[68]|38|5[06])|5(?:0[06]|1[49]|79|8[17])|6(?:0[04]|13|47)|7(?:0[059]|[18]0|78)|8(?:[06]7|19|)|90[25])[2-9]\\d{6}","\\d{7,10}",,,"2042345678"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}|310\\d{4}","\\d{7,10}",,,"8002123456"]
,1]
,"CA":[,[,,"[2-9]\\d{9}|3\\d{6}","\\d{7}(?:\\d{3})?"]
,[,,"(?:2(?:04|26|[48]9|50)|3(?:06|43)|4(?:03|1[68]|38|5[06])|5(?:0[06]|1[49]|79|8[17])|6(?:0[04]|13|47)|7(?:0[059]|[18]0|78)|8(?:[06]7|19|)|90[25])[2-9]\\d{6}|310\\d{4}","\\d{7}(?:\\d{3})?",,,"2042345678"]
,[,,"(?:2(?:04|26|[48]9|50)|3(?:06|43)|4(?:03|1[68]|38|5[06])|5(?:0[06]|1[49]|79|8[17])|6(?:0[04]|13|47)|7(?:0[059]|[18]0|78)|8(?:[06]7|19|)|90[25])[2-9]\\d{6}","\\d{7}(?:\\d{3})?",,,"2042345678"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}|310\\d{4}","\\d{7}(?:\\d{3})?",,,"8002123456"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
,[,,"NA","NA"]
,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"]
@ -899,7 +899,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,1]
,"CH":[,[,,"[2-9]\\d{8}","\\d{9}"]
,[,,"(?:2[12467]|3[1-4]|4[134]|5[12568]|6[12]|[7-9]1)\\d{7}","\\d{9}",,,"212345678"]
,[,,"7[46-9]\\d{7}","\\d{9}",,,"741234567"]
@ -930,16 +930,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"CK":[,[]
,[]
,[]
,1]
,"CK":[,[,,"[2-57]\\d{4}","\\d{5}"]
,[,,"(?:2\\d|3[13-7]|4[1-5])\\d{3}","\\d{5}",,,"21234"]
,[,,"(?:5[0-68]|7\\d)\\d{3}","\\d{5}",,,"71234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"CK",682,"00","00",,,"00",,,1,,,[,,"NA","NA"]
,"CK",682,"00",,,,,,,,[[,"(\\d{2})(\\d{3})","$1 $2",,"",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
@ -1194,8 +1196,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"DM":[,[,,"[7-9]\\d{9}","\\d{7,10}"]
,[,,"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}","\\d{7,10}",,,"7674201234"]
,"DM":[,[,,"[57-9]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}","\\d{7}(?:\\d{3})?",,,"7674201234"]
,[,,"767(?:2(?:[2346]5|7[5-7])|31[5-7]|61[4-6])\\d{4}","\\d{10}",,,"7672251234"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
@ -1206,9 +1208,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,"767",[,,"NA","NA"]
,[,,"NA","NA"]
]
,"DO":[,[,,"[89]\\d{9}","\\d{7,10}"]
,[,,"8[024]9[2-9]\\d{6}","\\d{7,10}",,,"8092345678"]
,[,,"8[024]9[2-9]\\d{6}","\\d{7,10}",,,"8092345678"]
,"DO":[,[,,"[589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"8[024]9[2-9]\\d{6}","\\d{7}(?:\\d{3})?",,,"8092345678"]
,[,,"8[024]9[2-9]\\d{6}","\\d{7}(?:\\d{3})?",,,"8092345678"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
,[,,"NA","NA"]
@ -1263,15 +1265,15 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"EE":[,[,,"[3-9]\\d{6,7}|800\\d{6,7}","\\d{6,10}"]
,"EE":[,[,,"[3-9]\\d{6,7}|800\\d{6,7}","\\d{7,10}"]
,[,,"(?: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[0-2]?\\d{5}","\\d{7,8}",,,"70012345"]
,[,,"70[0-2]\\d{5}","\\d{8}",,,"70012345"]
,[,,"NA","NA"]
,"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]))"]
,"EE",372,"00",,,,,,,,[[,"([34-79]\\d{2})(\\d{4})","$1 $2",["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]","[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]"]
,"",""]
,[,"(70)(\\d{2})(\\d{4})","$1 $2 $3",["70"]
,"",""]
@ -1333,7 +1335,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"ET":[,[,,"[1-59]\\d{8}","\\d{7,9}"]
,[,,"(?:11(?:1(?:1[124]|2[2-57]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-23]|6[5-8])|5(?:1[57]|44|5[0-4])|6(?:18|2[69]|4[5-7]|5[1-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|22[0-6]|33[0134689]|44[04]|55[0-6]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:11[1-9]|22[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}","\\d{7,9}",,,"111112345"]
,[,,"91(?:1(?:[146]\\d|2[0-5]|3[4-6]|50|7[2-6]|8[46-9])|31\\d|4(?:3[0-2489]|7[0-3])|5(?:3[23]|7[3-5])|6(?:58|8[23])|7(?:5[57]|8[01])|8(?:3[45]|7[67]))\\d{4}","\\d{9}",,,"911123456"]
,[,,"91[0-8]\\d{6}","\\d{9}",,,"911234567"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -1345,7 +1347,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"FI":[,[,,"[1-9]\\d{4,11}","\\d{5,12}"]
,"FI":[,[,,"1\\d{4,11}|[2-9]\\d{4,10}","\\d{5,12}"]
,[,,"1(?:[35689][1-8]\\d{3,9}|[47]\\d{5,10})|2[1-8]\\d{3,9}|3(?:[1-8]\\d{3,9}|9\\d{4,8})|[5689][1-8]\\d{3,9}|","\\d{5,12}",,,"1312345678"]
,[,,"4\\d{5,10}|50\\d{4,8}","\\d{6,11}",,,"412345678"]
,[,,"800\\d{4,7}","\\d{7,10}",,,"8001234567"]
@ -1376,15 +1378,15 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"FK":[,[]
,[]
,[]
,"FK":[,[,,"[2-7]\\d{4}","\\d{5}"]
,[,,"[2-47]\\d{4}","\\d{5}",,,"31234"]
,[,,"[56]\\d{4}","\\d{5}",,,"51234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"FK",500,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,"FK",500,"00",,,,,,,,,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
@ -1447,7 +1449,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,1]
,"GB":[,[,,"\\d{7,10}","\\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[0-46-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}","\\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"]
@ -1481,8 +1483,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,1,,[,,"NA","NA"]
,[,,"(?:3[0347]|55)\\d{8}","\\d{10}",,,"5512345678"]
]
,"GD":[,[,,"[489]\\d{9}","\\d{7,10}"]
,[,,"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-49]|5[5-79]|73|90)|63[68]|7(?:58|84)|938)\\d{4}","\\d{7,10}",,,"4732691234"]
,"GD":[,[,,"[4589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-49]|5[5-79]|73|90)|63[68]|7(?:58|84)|938)\\d{4}","\\d{7}(?:\\d{3})?",,,"4732691234"]
,[,,"473(?:4(?:0[3-79]|1[04-9]|20|58)|53[3-8])\\d{4}","\\d{10}",,,"4734031234"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
@ -1493,19 +1495,15 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,"473",[,,"NA","NA"]
,[,,"NA","NA"]
]
,"GE":[,[,,"[1-579]\\d{7}|8\\d{8}","\\d{5,9}"]
,[,,"(?:122|2(?:22|36|5[035])|3(?:1[0-35-8]|3[1-35679]|4\\d|7[0-39]|9[1-35-7])|3(?:[256]\\d|4[124-9]|7[0-4])|4(?:1\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\d{5}","\\d{5,8}",,,"32123456"]
,[,,"(?:5[1578]|6[28]|7[0147-9]|9[0135-9])\\d{6}","\\d{8}",,,"55123456"]
,"GE":[,[,,"[13-79]\\d{7}|8\\d{8}","\\d{5,9}"]
,[,,"(?:3(?:[256]\\d|4[124-9]|7[0-4])|4(?:1\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\d{5}","\\d{5,8}",,,"32123456"]
,[,,"(?:14|5[01578]|6[28]|7[0147-9]|9[0-35-9])\\d{6}","\\d{8}",,,"55123456"]
,[,,"800\\d{6}","\\d{9}",,,"800123456"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GE",995,"8~10","8",,,"8",,,,[[,"(32)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["32"]
,"8 ($1)",""]
,[,"(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24]|3[13-79]"]
,"8 ($1)",""]
,[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5679]"]
,"GE",995,"8~10","8",,,"8",,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[13-79]"]
,"8 $1",""]
,[,"(800)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]
,"8 $1",""]
@ -1656,21 +1654,26 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"GT":[,[]
,[]
,[]
,"GT":[,[,,"[2-7]\\d{7}|1[89]\\d{9}","\\d{8}(?:\\d{3})?"]
,[,,"[267][2-9]\\d{6}","\\d{8}",,,"22456789"]
,[,,"[345]\\d{7}","\\d{8}",,,"51234567"]
,[,,"18[01]\\d{8}","\\d{11}",,,"18001112222"]
,[,,"19\\d{9}","\\d{11}",,,"19001112222"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GT",502,"00",,,,,,,1,,,[,,"NA","NA"]
,"GT",502,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",["[2-7]"]
,"",""]
,[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]
,"",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"GU":[,[,,"[689]\\d{9}","\\d{7,10}"]
,[,,"671(?:3\\d{2}|47\\d|56\\d|6[3-5]\\d|7(?:3\\d|89)|828)\\d{4}","\\d{7,10}",,,"6713123456"]
,[,,"671(?:3\\d{2}|47\\d|56\\d|6[3-5]\\d|7(?:3\\d|89)|828)\\d{4}","\\d{7,10}",,,"6713123456"]
,"GU":[,[,,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:56|7[1-9]|8[23678])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[5-9])|7(?:[079]7|2[0167]|3[45]|8[789])|8(?:[2-5789]8|6[48])|9(?:2[29]|6[79]|7[179]|8[789]|9[78]))\\d{4}","\\d{7}(?:\\d{3})?",,,"6713001234"]
,[,,"671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:56|7[1-9]|8[23678])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[5-9])|7(?:[079]7|2[0167]|3[45]|8[789])|8(?:[2-5789]8|6[48])|9(?:2[29]|6[79]|7[179]|8[789]|9[78]))\\d{4}","\\d{7}(?:\\d{3})?",,,"6713001234"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
,[,,"NA","NA"]
@ -1896,15 +1899,15 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"3(?:08162\\d|3\\d{5}|4(?:40[49]06|5624\\d)|7(?:0624\\d|2299\\d))\\d{3}|55\\d{8}","\\d{10}",,,"5512345678"]
]
,"IN":[,[,,"[1-9]\\d{9,10}","\\d{6,11}"]
,"IN":[,[,,"1\\d{7,11}|[2-9]\\d{9,10}","\\d{6,12}"]
,[,,"(?:11|2[02]|33|4[04]|79|80)[2-6]\\d{7}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[126-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:[136][25]|22|4[28]|5[12]|[78]1|9[15])|6(?:12|[2345]1|57|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-6]\\d{6}|(?:(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[13-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1-5]|4[25-8]|5[125689]|6[235-7]|7[157-9]|8[2-467])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24-58]|7[23-689]|8[1-6])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d|7(?:(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|9\\d)\\d|8(?:2[0-6]|[013-8]\\d)))[2-6]\\d{5}","\\d{6,10}",,,"1123456789"]
,[,,"(?:7(?:39[89]|5(?:50|6[6-8]|79|[89][7-9])|6(?:0[027]|20|3[19]|54|65|7[67]|9[6-9])|7(?:0[89]|3[589]|42|60|9[5-9])|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]))\\d|9\\d{4}|8(?:(?:0[01589]|1[024])\\d|8(?:[079]\\d|44)|9[057-9]\\d)\\d)\\d{5}","\\d{10}",,,"9123456789"]
,[,,"1(?:800\\d?|600)\\d{6}","\\d{10,11}",,,"1800123456"]
,[,,"(?:7(?:2(?:0[04-9]|5[09]|7[568]|9[39])|3(?:07|7[3679]|9[689])|4(?:05|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5]|[47]9|50|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[67]|9[6-9])|7(?:0[289]|3[5-9]|42|60|9[5-9])|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7[015689]|9[0357-9]))\\d|9\\d{4}|8(?:(?:0[01589]|1[24]|2[2369]|4[023458]|52|6[0589]|7[2569])\\d|8(?:[079]\\d|44)|9[057-9]\\d)\\d)\\d{5}","\\d{10}",,,"9123456789"]
,[,,"1(?:600\\d{6}|800\\d{4,8})","\\d{8,12}",,,"1800123456"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"IN",91,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{6})","$1 $2 $3",["7(?:39|5[5-9]|[67][02-9]|8[0-6])|8(?:0[01589]|1[024]|8[0479]|9[057-9])|9","7(?:39|5(?:50|[6-9])|[67][02-9]|8[0-6])|8(?:0[01589]|1[024]|8(?:[079]|44)|9[057-9])|9"]
,"IN",91,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{6})","$1 $2 $3",["7(?:2[0579]|39|4[0-389]|5[04-9]|6|7[02-9]|8[0-79])|8(?:0[01589]|1[024]|8[0479]|9[057-9])|9","7(?:2[0579]|39|4[0-389]|5(?:0[0-5]|49|50|[6-9])|6|7[02-9]|8[0-79])|8(?:0[01589]|1[024]|8(?:[079]|44)|9[057-9])|9"]
,"0$1",""]
,[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79|80[2-6]"]
,"0$1",""]
@ -1928,22 +1931,26 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"0$1",""]
,[,"(1600)(\\d{2})(\\d{4})","$1 $2 $3",["160","1600"]
,"$1",""]
,[,"(18[06]0)(\\d{2,3})(\\d{4})","$1 $2 $3",["18[06]","18[06]0"]
,[,"(1800)(\\d{4,5})","$1 $2",["180","1800"]
,"$1",""]
,[,"(18[06]0)(\\d{2,4})(\\d{4})","$1 $2 $3",["18[06]","18[06]0"]
,"$1",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"1860345\\d{4}","\\d{11}",,,"18603451234"]
]
,"IO":[,[]
,[]
,[]
,"IO":[,[,,"3\\d{6}","\\d{7}"]
,[,,"37\\d{5}","\\d{7}",,,"3709100"]
,[,,"38\\d{5}","\\d{7}",,,"3801234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"IO",246,"00",,,,,,,1,,,[,,"NA","NA"]
,"IO",246,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
@ -2030,7 +2037,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,1]
,"JE":[,[,,"[135789]\\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"]
@ -2043,8 +2050,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))\\d{4}|55\\d{8}","\\d{10}",,,"5512345678"]
]
,"JM":[,[,,"[89]\\d{9}","\\d{7,10}"]
,[,,"876(?:(?:5[0-26]|6\\d|7[1-6]|9[2-8])\\d{5}|(?:7(?:0[2-689]|8[056]|9[45])|9(?:0[1-8]|1[02378]|9[2-468]))\\d{4})","\\d{7,10}",,,"8765123456"]
,"JM":[,[,,"[589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"876(?:(?:5[0-26]|6\\d|7[1-6]|9[2-8])\\d{5}|(?:7(?:0[2-689]|8[056]|9[45])|9(?:0[1-8]|1[02378]|9[2-468]))\\d{4})","\\d{7}(?:\\d{3})?",,,"8765123456"]
,[,,"876(?:(?:21|[348]\\d|5[78]|77)\\d|7(?:0[07]|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579]))\\d{4}","\\d{10}",,,"8762101234"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
@ -2055,12 +2062,12 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,"876",[,,"NA","NA"]
,[,,"NA","NA"]
]
,"JO":[,[,,"[235-9]\\d{7,8}","\\d{8,9}"]
,"JO":[,[,,"[235-9]\\d{7,8}","\\d{7,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"]
,[,,"900\\d{5}","\\d{8}",,,"90012345"]
,[,,"8(?:10\\d|5\\d{2}|7(?:[02]0|7[08]|9[09]))\\d{4}","\\d{8}",,,"85012345"]
,[,,"85\\d{6}","\\d{8}",,,"85012345"]
,[,,"70\\d{7}","\\d{9}",,,"700123456"]
,[,,"NA","NA"]
,"JO",962,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]"]
@ -2072,7 +2079,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"8(?:10|[78]\\d)\\d{5}","\\d{8}",,,"87101234"]
]
,"JP":[,[,,"\\d{9,10}","\\d{9,10}"]
,[,,"(?:1(?:1[236-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-8])|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"]
@ -2154,15 +2161,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"KI":[,[]
,[]
,[]
,"KI":[,[,,"[2-689]\\d{4}","\\d{5}"]
,[,,"(?:[234]\\d|50|8[1-5])\\d{3}","\\d{5}",,,"31234"]
,[,,"[69]\\d{4}","\\d{5}",,,"61234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"KI",686,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,"KI",686,"00","0",,,"0",,,,[[,"(\\d{5})","$1",,"0$1",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
@ -2180,8 +2189,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"KN":[,[,,"[89]\\d{9}","\\d{7,10}"]
,[,,"869(?:2(?:29|36)|4(?:6[5-9]|70))\\d{4}","\\d{7,10}",,,"8692361234"]
,"KN":[,[,,"[589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"869(?:2(?:29|36)|4(?:6[5-9]|70))\\d{4}","\\d{7}(?:\\d{3})?",,,"8692361234"]
,[,,"869(?:5(?:5[6-8]|6[5-7])|66[2-9]|76[2-5])\\d{4}","\\d{10}",,,"8695561234"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
@ -2241,7 +2250,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"KW":[,[,,"[12569]\\d{6,7}","\\d{7,8}"]
,[,,"(?:18\\d|2(?:[23]\\d{2}|4[1-35-9]\\d|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7])))\\d{4}","\\d{7,8}",,,"22345678"]
,[,,"(?:5(?:0[02]|5\\d)|6(?:0[034679]|5[015-9]|6\\d|7[067])|9(?:0[09]|4[049]|[79]\\d))\\d{5}","\\d{8}",,,"50012345"]
,[,,"(?:5(?:0[0-2]|5\\d)|6(?:0[034679]|5[015-9]|6\\d|7[067]|99)|9(?:0[09]|4[049]|66|[79]\\d))\\d{5}","\\d{8}",,,"50012345"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -2256,8 +2265,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"KY":[,[,,"[389]\\d{9}","\\d{7,10}"]
,[,,"345(?:2(?:22|44)|444|6(?:23|38|40)|7(?:6[6-9]|77)|8(?:00|1[45]|25|4[89]|88)|9(?:14|4[035-9]))\\d{4}","\\d{7,10}",,,"3452221234"]
,"KY":[,[,,"[3589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"345(?:2(?:22|44)|444|6(?:23|38|40)|7(?:6[6-9]|77)|8(?:00|1[45]|25|4[89]|88)|9(?:14|4[035-9]))\\d{4}","\\d{7}(?:\\d{3})?",,,"3452221234"]
,[,,"345(?:32[3-79]|5(?:1[467]|2[5-7]|4[5-9])|9(?:1[679]|2[4-9]|3[89]))\\d{4}","\\d{10}",,,"3453231234"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"]
,[,,"900[2-9]\\d{6}|345976\\d{4}","\\d{10}",,,"9002345678"]
@ -2268,16 +2277,16 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,"345",[,,"NA","NA"]
,[,,"NA","NA"]
]
,"KZ":[,[,,"(?:[67]\\d{2}|80[09])\\d{7}","\\d{10}"]
,[,,"7(?:1(?:0(?:[23]\\d|4[023]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[1-7]|4[1235-9]|59)|4(?:2\\d|3[013-79]|4[0-58]|5[1-79])|5(?:2\\d|3[1-8]|4[1-7]|59)|6(?:22|[34]\\d|5[19])|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-4]|))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679]|)|3(?:[234]\\d|5[139]|)|4(?:22|3[1235-8])|5(?:[23]\\d|4[0124-8]|59)|6(?:22|3[1-9]|4[0-4]|59)|7(?:[23]\\d|40|5[279]|7\\d)|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[12478]|59))|3622)\\d{5}","\\d{10}",,,"7123456789"]
,[,,"7(?:0[01257]\\d{2}|1[2-578]9[01]|2(?:[13-6]9[01]|7(?:58|9[01]))|6[02-4]\\d{2}|7[157]\\d{2})\\d{5}|6\\d{9}","\\d{10}",,,"7129012345"]
,"KZ":[,[,,"(?:7\\d{2}|80[09])\\d{7}","\\d{10}"]
,[,,"7(?:1(?:0(?:[23]\\d|4[023]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[1-79]|4[0-35-9]|59)|4(?:2\\d|3[013-79]|4[0-8]|5[1-79])|5(?:2\\d|3[1-8]|4[1-7]|59)|6(?:2\\d|[34]\\d|5[19]|61)|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-5]|))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679]|)|3(?:[234]\\d|5[139]|)|4(?:2\\d|3[1235-9]|59)|5(?:[23]\\d|4[01246-8]|59|61)|6(?:2\\d|3[1-9]|4[0-4]|59)|7(?:[23]\\d|40|5[279]|7\\d)|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[124578]|59))|3622)\\d{5}","\\d{10}",,,"7123456789"]
,[,,"7(?:0[01257]\\d{2}|6[02-4]\\d{2}|7[157]\\d{2})\\d{5}","\\d{10}",,,"7710009998"]
,[,,"800\\d{7}","\\d{10}",,,"8001234567"]
,[,,"809\\d{7}","\\d{10}",,,"8091234567"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"751\\d{7}","\\d{10}",,,"7511234567"]
,"KZ",7,"8~10","8",,,"8",,,,,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,,,[,,"751\\d{7}","\\d{10}",,,"7511234567"]
,[,,"NA","NA"]
]
,"LA":[,[,,"[2-57]\\d{7,9}","\\d{6,10}"]
@ -2314,8 +2323,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"LC":[,[,,"[789]\\d{9}","\\d{7,10}"]
,[,,"758(?:234|4(?:5[0-9]|6[2-9]|8[0-2])|638|758)\\d{4}","\\d{7,10}",,,"7582345678"]
,"LC":[,[,,"[5789]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"758(?:234|4(?:5[0-9]|6[2-9]|8[0-2])|638|758)\\d{4}","\\d{7}(?:\\d{3})?",,,"7582345678"]
,[,,"758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2[0-4]))\\d{4}","\\d{10}",,,"7582845678"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
@ -2532,17 +2541,22 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"ME":[,[]
,[]
,[]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"ME":[,[,,"[2-9]\\d{7,8}","\\d{6,9}"]
,[,,"(?:20[2-8]|3(?:0[2-7]|1[35-7]|2[367]|3[4-7])|4(?:0[237]|1[2467])|5(?:0[47]|1[27]|2[378]))\\d{5}","\\d{6,8}",,,"30234567"]
,[,,"6(?:32\\d|[89]\\d{2}|7(?:[0-8]\\d|9(?:[3-9]|[0-2]\\d)))\\d{4}","\\d{8,9}",,,"67622901"]
,[,,"800[28]\\d{4}","\\d{8}",,,"80080002"]
,[,,"(?:88\\d|9(?:4[13-8]|5[16-8]))\\d{5}","\\d{8}",,,"94515151"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"ME",382,"99","0",,,"0",,,1,,,[,,"NA","NA"]
,[,,"78[134579]\\d{5}","\\d{8}",,,"78108780"]
,"ME",382,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-57-9]|6[3789]","[2-57-9]|6(?:[389]|7(?:[0-8]|9[3-9]))"]
,"0$1",""]
,[,"(67)(9)(\\d{3})(\\d{3})","$1 $2 $3 $4",["679","679[0-2]"]
,"0$1",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"77\\d{6}","\\d{8}",,,"77273012"]
]
,"MG":[,[,,"[23]\\d{8}","\\d{7,9}"]
,[,,"2(?:0(?:(?:2\\d|4[47]|5[3467]|6[279]|8[268]|9[245])\\d|7(?:2[29]|[35]\\d))|210\\d)\\d{4}","\\d{7,9}",,,"202123456"]
@ -2640,8 +2654,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"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"]
,"MN":[,[,,"[12]\\d{7,9}|[57-9]\\d{7}","\\d{6,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{6,10}",,,"70123456"]
,[,,"(?:8[89]|9[15689])\\d{6}","\\d{8}",,,"88123456"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -2677,9 +2691,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"MP":[,[,,"[689]\\d{9}","\\d{7,10}"]
,[,,"670(?:2(?:3[3-5]|88|56)|32[23]|4[38]3|532|6(?:64|70|8\\d))\\d{4}","\\d{7,10}",,,"6702345678"]
,[,,"670(?:2(?:3[3-5]|88|56)|32[23]|4[38]3|532|6(?:64|70|8\\d))\\d{4}","\\d{7,10}",,,"6702345678"]
,"MP":[,[,,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"670(?:2(?:3[3-5]|88|56)|32[23]|4[38]3|532|6(?:64|70|8\\d))\\d{4}","\\d{7}(?:\\d{3})?",,,"6702345678"]
,[,,"670(?:2(?:3[3-5]|88|56)|32[23]|4[38]3|532|6(?:64|70|8\\d))\\d{4}","\\d{7}(?:\\d{3})?",,,"6702345678"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
,[,,"NA","NA"]
@ -2701,25 +2715,22 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"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"]
,"MR":[,[,,"[2-48]\\d{7}","\\d{8}"]
,[,,"25[08]\\d{5}|35\\d{6}|45[1-7]\\d{5}","\\d{8}",,,"35123456"]
,[,,"(?:2(?:2\\d|70)|3(?:3\\d|6[1-36]|7[1-3])|4(?:4\\d|6[0457-9]|7[4-9]))\\d{5}","\\d{8}",,,"22123456"]
,[,,"800\\d{5}","\\d{8}",,,"80012345"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"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]"]
,"",""]
,"MR",222,"00",,,,,,,,[[,"([2-48]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"MS":[,[,,"[689]\\d{9}","\\d{7,10}"]
,[,,"664491\\d{4}","\\d{7,10}",,,"6644912345"]
,"MS":[,[,,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"664491\\d{4}","\\d{7}(?:\\d{3})?",,,"6644912345"]
,[,,"664492\\d{4}","\\d{10}",,,"6644923456"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
@ -2758,15 +2769,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"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"]
,"MV":[,[,,"[367]\\d{6}|9(?:00\\d{7}|\\d{6})","\\d{7,10}"]
,[,,"(?:3(?:0[01]|3[0-59]|)|6(?:[567][02468]|8[024689]|90))\\d{4}","\\d{7}",,,"6701234"]
,[,,"(?:7[36-9]|9[6-9])\\d{5}","\\d{7}",,,"7712345"]
,[,,"NA","NA"]
,[,,"900\\d{7}","\\d{10}",,,"9001234567"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"MV",960,"0(?:0|19)",,,,,,"00",,[[,"(\\d{3})(\\d{4})","$1-$2",,"",""]
,"MV",960,"0(?:0|19)",,,,,,"00",,[[,"(\\d{3})(\\d{4})","$1-$2",["[367]|9(?:[1-9]|0[1-9])"]
,"",""]
,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["900"]
,"",""]
]
,,[,,"781\\d{4}","\\d{7}",,,"7812345"]
,,,[,,"NA","NA"]
@ -2912,7 +2926,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,1]
,"NF":[,[]
,[]
,[]
@ -2984,7 +2998,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
]
,"NO":[,[,,"0\\d{4}|[2-9]\\d{7}","\\d{5}(?:\\d{3})?"]
,[,,"0\\d{4}|(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7\\d)\\d{6}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?",,,"21234567"]
,[,,"(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\d{6}","\\d{8}",,,"21234567"]
,[,,"(?:4[015-8]|9\\d)\\d{6}","\\d{8}",,,"41234567"]
,[,,"80[01]\\d{5}","\\d{8}",,,"80012345"]
,[,,"82[09]\\d{5}","\\d{8}",,,"82012345"]
@ -2997,9 +3011,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,1,,[,,"NA","NA"]
,[,,"0\\d{4}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?",,,"01234"]
,1]
,"NP":[,[,,"[1-8]\\d{5,7}|98[45]\\d{7}","\\d{6,10}"]
,[,,"(?:1[014-6]|2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-4679]|9[1-79])\\d{6}","\\d{6,8}",,,"14567890"]
,[,,"98[45]\\d{7}","\\d{10}",,,"9841234567"]
@ -3230,9 +3244,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"PR":[,[,,"[789]\\d{9}","\\d{7,10}"]
,[,,"(?:787|939)[2-9]\\d{6}","\\d{7,10}",,,"7872345678"]
,[,,"(?:787|939)[2-9]\\d{6}","\\d{7,10}",,,"7872345678"]
,"PR":[,[,,"[5789]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"(?:787|939)[2-9]\\d{6}","\\d{7}(?:\\d{3})?",,,"7872345678"]
,[,,"(?:787|939)[2-9]\\d{6}","\\d{7}(?:\\d{3})?",,,"7872345678"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"]
,[,,"NA","NA"]
@ -3378,7 +3392,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"RU",7,"8~10","8",,,"8",,,,[[,"([3489]\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[34689]"]
,"8 ($1)",""]
,[,"([67]\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[67]"]
,[,"(7\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"]
,"8 ($1)",""]
]
,,[,,"NA","NA"]
@ -3568,6 +3582,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"SJ":[,[,,"0\\d{4}|[4789]\\d{7}","\\d{5}(?:\\d{3})?"]
,[,,"79\\d{6}","\\d{8}",,,"79123456"]
,[,,"(?:4[015-8]|9\\d)\\d{6}","\\d{8}",,,"41234567"]
,[,,"80[01]\\d{5}","\\d{8}",,,"80012345"]
,[,,"82[09]\\d{5}","\\d{8}",,,"82012345"]
,[,,"810(?:0[0-6]|[2-8]\\d)\\d{3}","\\d{8}",,,"81021234"]
,[,,"880\\d{5}","\\d{8}",,,"88012345"]
,[,,"NA","NA"]
,"SJ",47,"00",,,,,,,,,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"0\\d{4}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?",,,"01234"]
,1]
,"SK":[,[,,"[2-689]\\d{8}","\\d{9}"]
,[,,"[2-5]\\d{8}","\\d{9}",,,"212345678"]
,[,,"9(?:0[1-8]|1[0-24-9]|4[0489])\\d{6}","\\d{9}",,,"912123456"]
@ -3626,7 +3652,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,1]
,"SN":[,[,,"[37]\\d{8}","\\d{9}"]
,[,,"3(?:010|3(?:8[1-9]|9[2-9]))\\d{5}","\\d{9}",,,"301012345"]
,[,,"7(?:0[1256]0|6(?:1[23]|2[89]|3[3489]|4[6-9]|5[1-389]|6[6-9]|7[45]|8[3-8])|7(?:1[014-8]|2[0-7]|3[0-35-8]|4[0-6]|[56]\\d|7[0-589]|8[01]|9[0-6]))\\d{5}","\\d{9}",,,"701012345"]
@ -3684,15 +3710,22 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"SV":[,[]
,[]
,[]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"SV":[,[,,"[27]\\d{7}|[89]\\d{6}(?:\\d{4})?","\\d{7,8}|\\d{11}"]
,[,,"2[1-6]\\d{6}","\\d{8}",,,"21234567"]
,[,,"7\\d{7}","\\d{8}",,,"70123456"]
,[,,"800\\d{4}(?:\\d{4})?","\\d{7}(?:\\d{4})?",,,"8001234"]
,[,,"900\\d{4}(?:\\d{4})?","\\d{7}(?:\\d{4})?",,,"9001234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"SV",503,"00",,,,,,,1,,,[,,"NA","NA"]
,"SV",503,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",["[27]"]
,"",""]
,[,"(\\d{3})(\\d{4})","$1 $2",["[89]"]
,"",""]
,[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[89]"]
,"",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
@ -3729,9 +3762,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"0800\\d{4}","\\d{8}",,,"08001234"]
,[,,"NA","NA"]
]
,"TC":[,[,,"[689]\\d{9}","\\d{7,10}"]
,[,,"649(?:712|9(?:4\\d|50))\\d{4}","\\d{7,10}",,,"6497121234"]
,1]
,"TC":[,[,,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"649(?:712|9(?:4\\d|50))\\d{4}","\\d{7}(?:\\d{3})?",,,"6497121234"]
,[,,"649(?:2(?:3[12]|4[1-5])|3(?:3[1-39]|4[1-57])|4[34][12])\\d{4}","\\d{10}",,,"6492311234"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"]
@ -3781,7 +3814,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,1]
,"TH":[,[,,"[2-8]\\d{7,8}|1\\d{9}","\\d{8,10}"]
,[,,"(?:2[1-9]|3[24-9]|4[2-5]|5[3-6]|7[3-7])\\d{6}","\\d{8}",,,"21234567"]
,[,,"8\\d{8}","\\d{9}",,,"812345678"]
@ -3905,12 +3938,12 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,"(444)(\\d{1})(\\d{3})","$1 $2 $3",["444"]
,"",""]
]
,,[,,"NA","NA"]
,,[,,"512\\d{7}","\\d{10}",,,"5123456789"]
,,,[,,"NA","NA"]
,[,,"444\\d{4}|850\\d{7}","\\d{7,10}",,,"4441444"]
]
,"TT":[,[,,"[89]\\d{9}","\\d{7,10}"]
,[,,"868(?:2(?:01|2[1-4])|6(?:1[4-6]|2[1-9]|[3-6]\\d|7[0-79]|9[0-8])|82[12])\\d{4}","\\d{7,10}",,,"8682211234"]
,"TT":[,[,,"[589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"868(?:2(?:01|2[1-4])|6(?:07|1[4-6]|2[1-9]|[3-6]\\d|7[0-79]|9[0-8])|82[12])\\d{4}","\\d{7}(?:\\d{3})?",,,"8682211234"]
,[,,"868(?:29\\d|3(?:0[1-9]|1[02-9]|[2-9]\\d)|4(?:[679]\\d|8[0-4])|6(?:20|78|8\\d)|7(?:1[02-9]|[2-9]\\d))\\d{4}","\\d{10}",,,"8682911234"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"]
@ -4007,9 +4040,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"US":[,[,,"[2-9]\\d{9}","\\d{7,10}"]
,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[04]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[1678]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7,10}",,,"2012345678"]
,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[04]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[1678]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7,10}",,,"2012345678"]
,"US":[,[,,"[2-9]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[014]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[1678]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7}(?:\\d{3})?",,,"2012345678"]
,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[014]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[1678]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7}(?:\\d{3})?",,,"2012345678"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"]
,[,,"NA","NA"]
@ -4063,9 +4096,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"VC":[,[,,"(?:784|8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
,[,,"784(?:266|3(?:6[6-9]|7\\d|8[0-24-6])|4(?:38|5[0-36-8]|8\\d|9[01])|555|638|784)\\d{4}","\\d{7,10}",,,"7842661234"]
,1]
,"VC":[,[,,"[5789]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"784(?:266|3(?:6[6-9]|7\\d|8[0-24-6])|4(?:38|5[0-36-8]|8\\d|9[01])|555|638|784)\\d{4}","\\d{7}(?:\\d{3})?",,,"7842661234"]
,[,,"784(?:4(?:3[0-24]|5[45]|9[2-5])|5(?:2[6-9]|3[0-3]|93))\\d{4}","\\d{10}",,,"7844301234"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"]
@ -4090,8 +4123,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"VG":[,[,,"(?:284|8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
,[,,"284(?:(?:229|4(?:46|9[45])|8(?:52|6[459]))\\d{4}|496[0-5]\\d{3})","\\d{7,10}",,,"2842291234"]
,"VG":[,[,,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"284(?:(?:229|4(?:46|9[45])|8(?:52|6[459]))\\d{4}|496[0-5]\\d{3})","\\d{7}(?:\\d{3})?",,,"2842291234"]
,[,,"284(?:(?:30[0-3]|4(?:4[0-5]|68|99)|54[0-4])\\d{4}|496[6-9]\\d{3})","\\d{10}",,,"2843001234"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"]
@ -4102,9 +4135,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,"284",[,,"NA","NA"]
,[,,"NA","NA"]
]
,"VI":[,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}",,,"3406421234"]
,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}",,,"3406421234"]
,"VI":[,[,,"[3589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"340(?:6[49]2|7[17]\\d)\\d{4}","\\d{7}(?:\\d{3})?",,,"3406421234"]
,[,,"340(?:6[49]2|7[17]\\d)\\d{4}","\\d{7}(?:\\d{3})?",,,"3406421234"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"]
,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"]
,[,,"NA","NA"]


+ 10
- 10
javascript/i18n/phonenumbers/metadatafortesting.js View File

@ -1,4 +1,4 @@
/*
/**
* @license
* Copyright (C) 2010 Google Inc.
*
@ -17,15 +17,15 @@
/**
* @fileoverview Generated metadata for file
* java/resources/com/google/i18n/phonenumbers/test/PhoneNumberMetaDataForTesting.xml
* resources/PhoneNumberMetaDataForTesting.xml
* @author Nikolaos Trogkanis
*/
goog.provide('i18n.phonenumbers.metadata');
/**
* A mapping from a country code to the region codes which denote the
* country/region represented by that country code. In the case of multiple
* A mapping from a country calling code to the region codes which denote the
* region represented by that country calling code. In the case of multiple
* countries sharing a calling code, such as the NANPA countries, the one
* indicated with "isMainCountryForCode" in the metadata should be first.
* @type {Object.<number, Array.<string>>}
@ -152,7 +152,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"DE",49,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{3,8})","$1 $2",["2|3[3-9]|906|[4-9][1-9]1"]
,"0$1",""]
,[,"(\\d{2})(\\d{4,9})","$1 $2",["[34]0|[68]9"]
,[,"(\\d{2})(\\d{4,9})","$1/$2",["[34]0|[68]9"]
,"0$1",""]
,[,"([4-9]\\d)(\\d{2})","$1 $2",["[4-9]","[4-6]|[7-9](?:\\d[1-9]|[1-9]\\d)"]
,"0$1",""]
@ -208,7 +208,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,1]
,"JP":[,[]
,[]
,[]
@ -348,7 +348,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,"262|6(?:9[23]|47)|8",[,,"NA","NA"]
,[,,"NA","NA"]
]
,"SG":[,[,,"[13689]\\d{7,10}","\\d{8,11}"]
,"SG":[,[,,"[13689]\\d{7,10}","\\d{8}|\\d{10,11}"]
,[,,"[36]\\d{7}","\\d{8}"]
,[,,"[89]\\d{7}","\\d{8}"]
,[,,"1?800\\d{7}","\\d{10,11}"]
@ -367,9 +367,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"US":[,[,,"[13-9]\\d{9}|2[0-35-9]\\d{8}","\\d{7,10}",,,"1234567890"]
,[,,"[13-9]\\d{9}|2[0-35-9]\\d{8}","\\d{7,10}",,,"1234567890"]
,[,,"[13-9]\\d{9}|2[0-35-9]\\d{8}","\\d{7,10}",,,"1234567890"]
,"US":[,[,,"[13-9]\\d{9}|2[0-35-9]\\d{8}","\\d{7}(?:\\d{3})?",,,"1234567890"]
,[,,"[13-9]\\d{9}|2[0-35-9]\\d{8}","\\d{7}(?:\\d{3})?",,,"1234567890"]
,[,,"[13-9]\\d{9}|2[0-35-9]\\d{8}","\\d{7}(?:\\d{3})?",,,"1234567890"]
,[,,"8(?:00|66|77|88)\\d{7}","\\d{10}",,,"1234567890"]
,[,,"900\\d{7}","\\d{10}",,,"1234567890"]
,[,,"NA","NA"]


+ 190
- 157
javascript/i18n/phonenumbers/metadatalite.js View File

@ -1,4 +1,4 @@
/*
/**
* @license
* Copyright (C) 2010 Google Inc.
*
@ -17,15 +17,15 @@
/**
* @fileoverview Generated metadata for file
* java/resources/com/google/i18n/phonenumbers/src/PhoneNumberMetaData.xml
* resources/PhoneNumberMetaData.xml
* @author Nikolaos Trogkanis
*/
goog.provide('i18n.phonenumbers.metadata');
/**
* A mapping from a country code to the region codes which denote the
* country/region represented by that country code. In the case of multiple
* A mapping from a country calling code to the region codes which denote the
* region represented by that country calling code. In the case of multiple
* countries sharing a calling code, such as the NANPA countries, the one
* indicated with "isMainCountryForCode" in the metadata should be first.
* @type {Object.<number, Array.<string>>}
@ -48,7 +48,7 @@ i18n.phonenumbers.metadata.countryCodeToRegionCodeMap = {
,44:["GB","GG","IM","JE"]
,45:["DK"]
,46:["SE"]
,47:["NO"]
,47:["NO","SJ"]
,48:["PL"]
,49:["DE"]
,51:["PE"]
@ -307,8 +307,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"AG":[,[,,"[289]\\d{9}","\\d{7,10}"]
,[,,"268(?:4(?:6[0-38]|84)|56[0-2])\\d{4}","\\d{7,10}"]
,"AG":[,[,,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"268(?:4(?:6[0-38]|84)|56[0-2])\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"268(?:464|7(?:2[0-9]|64|7[0-689]|8[02-68]))\\d{4}","\\d{10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
@ -319,8 +319,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,"268",[,,"NA","NA"]
,[,,"NA","NA"]
]
,"AI":[,[,,"[289]\\d{9}","\\d{7,10}"]
,[,,"2644(?:6[12]|9[78])\\d{4}","\\d{7,10}"]
,"AI":[,[,,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"2644(?:6[12]|9[78])\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"264(?:235|476|5(?:3[6-9]|8[1-4])|7(?:29|72))\\d{4}","\\d{10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
@ -444,8 +444,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"AS":[,[,,"[689]\\d{9}","\\d{7,10}"]
,[,,"6846(?:22|33|44|55|77|88|9[19])\\d{4}","\\d{7,10}"]
,"AS":[,[,,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"6846(?:22|33|44|55|77|88|9[19])\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"684(?:733|258)\\d{4}","\\d{10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
@ -477,7 +477,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"AU":[,[,,"[1-578]\\d{5,9}","\\d{6,10}"]
,[,,"[2378]\\d{8}","\\d{8,9}"]
,[,,"4[0-68]\\d{7}","\\d{9}"]
,[,,"4(?:[0-2]\\d|3[0-57-9]|4[47-9]|5[0-37-9]|6[6-9]|7[07-9]|8[7-9])\\d{6}","\\d{9}"]
,[,,"1(?:80(?:0\\d{2})?|3(?:00\\d{2})?)\\d{4}","\\d{6,10}"]
,[,,"190[0126]\\d{6}","\\d{10}"]
,[,,"NA","NA"]
@ -515,8 +515,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
]
,"AZ":[,[,,"[1-8]\\d{7,8}","\\d{5,9}"]
,[,,"(?:1(?:(?:[28]\\d|9)\\d|02|1[0-589]|3[358]|4[013-79]|5[0-479]|6[02346-9]|7[0-24-8])|2(?:16|2\\d|3[0-24]|4[1468]|55|6[56]|79)|365?\\d)\\d{5}","\\d{5,9}"]
,[,,"(?:4[04]|5[015]|60|7[07])\\d{7}","\\d{9}"]
,[,,"(?:1(?:(?:[28]\\d|9)\\d|02|1[0-589]|3[358]|4[013-79]|5[0-479]|6[02346-9]|7[0-24-8])|2(?:16|2\\d|3[0-24]|4[1468]|55|6[56]|79)|365?\\d|44\\d{2})\\d{5}","\\d{5,9}"]
,[,,"(?:[46]0|5[015]|7[07])\\d{7}","\\d{9}"]
,[,,"88\\d{7}","\\d{9}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -551,8 +551,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"81\\d{6}","\\d{8}"]
]
,"BB":[,[,,"[289]\\d{9}","\\d{7,10}"]
,[,,"246[2-9]\\d{6}","\\d{7,10}"]
,"BB":[,[,,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"246[2-9]\\d{6}","\\d{7}(?:\\d{3})?"]
,[,,"246(?:(?:2[346]|45|82)\\d|25[0-4])\\d{4}","\\d{10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
@ -698,8 +698,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"BM":[,[,,"[489]\\d{9}","\\d{7,10}"]
,[,,"441(?:2(?:02|23|61|[3479]\\d)|[46]\\d{2}|5(?:4\\d|60|89)|824)\\d{4}","\\d{7,10}"]
,"BM":[,[,,"[4589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"441(?:2(?:02|23|61|[3479]\\d)|[46]\\d{2}|5(?:4\\d|60|89)|824)\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"441(?:[37]\\d|5[0-39])\\d{5}","\\d{10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
@ -760,8 +760,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"BS":[,[,,"[289]\\d{9}","\\d{7,10}"]
,[,,"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3467]|8[0-4]|9[2-467])|461|502|6(?:12|7[67]|8[78]|9[89])|702)\\d{4}","\\d{7,10}"]
,"BS":[,[,,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3467]|8[0-4]|9[2-467])|461|502|6(?:12|7[67]|8[78]|9[89])|702)\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"242(?:3(?:5[79]|[79]5)|4(?:[2-4][1-9]|5[1-8]|6[2-8]|7\\d|81)|5(?:2[34]|3[35]|44|5[1-9]|65|77)|6[34]6|727)\\d{4}","\\d{10}"]
,[,,"242300\\d{4}|8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
@ -839,11 +839,11 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"CA":[,[,,"[2-9]\\d{9}|3\\d{6}","\\d{7,10}"]
,[,,"(?:2(?:04|26|50|89)|3(?:06|43)|4(?:03|1[68]|38|5[06])|5(?:0[06]|1[49]|79|8[17])|6(?:0[04]|13|47)|7(?:0[059]|[18]0|78)|8(?:[06]7|19|)|90[25])[2-9]\\d{6}|310\\d{4}","\\d{7,10}"]
,[,,"(?:2(?:04|26|50|89)|3(?:06|43)|4(?:03|1[68]|38|5[06])|5(?:0[06]|1[49]|79|8[17])|6(?:0[04]|13|47)|7(?:0[059]|[18]0|78)|8(?:[06]7|19|)|90[25])[2-9]\\d{6}","\\d{7,10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}|310\\d{4}","\\d{7,10}"]
,1]
,"CA":[,[,,"[2-9]\\d{9}|3\\d{6}","\\d{7}(?:\\d{3})?"]
,[,,"(?:2(?:04|26|[48]9|50)|3(?:06|43)|4(?:03|1[68]|38|5[06])|5(?:0[06]|1[49]|79|8[17])|6(?:0[04]|13|47)|7(?:0[059]|[18]0|78)|8(?:[06]7|19|)|90[25])[2-9]\\d{6}|310\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"(?:2(?:04|26|[48]9|50)|3(?:06|43)|4(?:03|1[68]|38|5[06])|5(?:0[06]|1[49]|79|8[17])|6(?:0[04]|13|47)|7(?:0[059]|[18]0|78)|8(?:[06]7|19|)|90[25])[2-9]\\d{6}","\\d{7}(?:\\d{3})?"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}|310\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
,[,,"NA","NA"]
,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"]
@ -899,7 +899,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,1]
,"CH":[,[,,"[2-9]\\d{8}","\\d{9}"]
,[,,"(?:2[12467]|3[1-4]|4[134]|5[12568]|6[12]|[7-9]1)\\d{7}","\\d{9}"]
,[,,"7[46-9]\\d{7}","\\d{9}"]
@ -930,16 +930,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"CK":[,[]
,[]
,[]
,1]
,"CK":[,[,,"[2-57]\\d{4}","\\d{5}"]
,[,,"(?:2\\d|3[13-7]|4[1-5])\\d{3}","\\d{5}"]
,[,,"(?:5[0-68]|7\\d)\\d{3}","\\d{5}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"CK",682,"00","00",,,"00",,,1,,,[,,"NA","NA"]
,"CK",682,"00",,,,,,,,[[,"(\\d{2})(\\d{3})","$1 $2",,"",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
@ -1194,8 +1196,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"DM":[,[,,"[7-9]\\d{9}","\\d{7,10}"]
,[,,"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}","\\d{7,10}"]
,"DM":[,[,,"[57-9]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"767(?:2(?:[2346]5|7[5-7])|31[5-7]|61[4-6])\\d{4}","\\d{10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
@ -1206,9 +1208,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,"767",[,,"NA","NA"]
,[,,"NA","NA"]
]
,"DO":[,[,,"[89]\\d{9}","\\d{7,10}"]
,[,,"8[024]9[2-9]\\d{6}","\\d{7,10}"]
,[,,"8[024]9[2-9]\\d{6}","\\d{7,10}"]
,"DO":[,[,,"[589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"8[024]9[2-9]\\d{6}","\\d{7}(?:\\d{3})?"]
,[,,"8[024]9[2-9]\\d{6}","\\d{7}(?:\\d{3})?"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
,[,,"NA","NA"]
@ -1263,15 +1265,15 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"EE":[,[,,"[3-9]\\d{6,7}|800\\d{6,7}","\\d{6,10}"]
,"EE":[,[,,"[3-9]\\d{6,7}|800\\d{6,7}","\\d{7,10}"]
,[,,"(?: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[0-2]?\\d{5}","\\d{7,8}"]
,[,,"70[0-2]\\d{5}","\\d{8}"]
,[,,"NA","NA"]
,"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]))"]
,"EE",372,"00",,,,,,,,[[,"([34-79]\\d{2})(\\d{4})","$1 $2",["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]","[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]"]
,"",""]
,[,"(70)(\\d{2})(\\d{4})","$1 $2 $3",["70"]
,"",""]
@ -1333,7 +1335,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"ET":[,[,,"[1-59]\\d{8}","\\d{7,9}"]
,[,,"(?:11(?:1(?:1[124]|2[2-57]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-23]|6[5-8])|5(?:1[57]|44|5[0-4])|6(?:18|2[69]|4[5-7]|5[1-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|22[0-6]|33[0134689]|44[04]|55[0-6]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:11[1-9]|22[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}","\\d{7,9}"]
,[,,"91(?:1(?:[146]\\d|2[0-5]|3[4-6]|50|7[2-6]|8[46-9])|31\\d|4(?:3[0-2489]|7[0-3])|5(?:3[23]|7[3-5])|6(?:58|8[23])|7(?:5[57]|8[01])|8(?:3[45]|7[67]))\\d{4}","\\d{9}"]
,[,,"91[0-8]\\d{6}","\\d{9}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -1345,7 +1347,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"FI":[,[,,"[1-9]\\d{4,11}","\\d{5,12}"]
,"FI":[,[,,"1\\d{4,11}|[2-9]\\d{4,10}","\\d{5,12}"]
,[,,"1(?:[35689][1-8]\\d{3,9}|[47]\\d{5,10})|2[1-8]\\d{3,9}|3(?:[1-8]\\d{3,9}|9\\d{4,8})|[5689][1-8]\\d{3,9}|","\\d{5,12}"]
,[,,"4\\d{5,10}|50\\d{4,8}","\\d{6,11}"]
,[,,"800\\d{4,7}","\\d{7,10}"]
@ -1376,15 +1378,15 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"FK":[,[]
,[]
,[]
,"FK":[,[,,"[2-7]\\d{4}","\\d{5}"]
,[,,"[2-47]\\d{4}","\\d{5}"]
,[,,"[56]\\d{4}","\\d{5}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"FK",500,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,"FK",500,"00",,,,,,,,,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
@ -1447,7 +1449,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,1]
,"GB":[,[,,"\\d{7,10}","\\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[0-46-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}","\\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}"]
@ -1481,8 +1483,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,1,,[,,"NA","NA"]
,[,,"(?:3[0347]|55)\\d{8}","\\d{10}"]
]
,"GD":[,[,,"[489]\\d{9}","\\d{7,10}"]
,[,,"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-49]|5[5-79]|73|90)|63[68]|7(?:58|84)|938)\\d{4}","\\d{7,10}"]
,"GD":[,[,,"[4589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-49]|5[5-79]|73|90)|63[68]|7(?:58|84)|938)\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"473(?:4(?:0[3-79]|1[04-9]|20|58)|53[3-8])\\d{4}","\\d{10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
@ -1493,19 +1495,15 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,"473",[,,"NA","NA"]
,[,,"NA","NA"]
]
,"GE":[,[,,"[1-579]\\d{7}|8\\d{8}","\\d{5,9}"]
,[,,"(?:122|2(?:22|36|5[035])|3(?:1[0-35-8]|3[1-35679]|4\\d|7[0-39]|9[1-35-7])|3(?:[256]\\d|4[124-9]|7[0-4])|4(?:1\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\d{5}","\\d{5,8}"]
,[,,"(?:5[1578]|6[28]|7[0147-9]|9[0135-9])\\d{6}","\\d{8}"]
,"GE":[,[,,"[13-79]\\d{7}|8\\d{8}","\\d{5,9}"]
,[,,"(?:3(?:[256]\\d|4[124-9]|7[0-4])|4(?:1\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\d{5}","\\d{5,8}"]
,[,,"(?:14|5[01578]|6[28]|7[0147-9]|9[0-35-9])\\d{6}","\\d{8}"]
,[,,"800\\d{6}","\\d{9}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GE",995,"8~10","8",,,"8",,,,[[,"(32)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["32"]
,"8 ($1)",""]
,[,"(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24]|3[13-79]"]
,"8 ($1)",""]
,[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5679]"]
,"GE",995,"8~10","8",,,"8",,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[13-79]"]
,"8 $1",""]
,[,"(800)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]
,"8 $1",""]
@ -1656,21 +1654,26 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"GT":[,[]
,[]
,[]
,"GT":[,[,,"[2-7]\\d{7}|1[89]\\d{9}","\\d{8}(?:\\d{3})?"]
,[,,"[267][2-9]\\d{6}","\\d{8}"]
,[,,"[345]\\d{7}","\\d{8}"]
,[,,"18[01]\\d{8}","\\d{11}"]
,[,,"19\\d{9}","\\d{11}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GT",502,"00",,,,,,,1,,,[,,"NA","NA"]
,"GT",502,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",["[2-7]"]
,"",""]
,[,"(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]
,"",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"GU":[,[,,"[689]\\d{9}","\\d{7,10}"]
,[,,"671(?:3\\d{2}|47\\d|56\\d|6[3-5]\\d|7(?:3\\d|89)|828)\\d{4}","\\d{7,10}"]
,[,,"671(?:3\\d{2}|47\\d|56\\d|6[3-5]\\d|7(?:3\\d|89)|828)\\d{4}","\\d{7,10}"]
,"GU":[,[,,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:56|7[1-9]|8[23678])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[5-9])|7(?:[079]7|2[0167]|3[45]|8[789])|8(?:[2-5789]8|6[48])|9(?:2[29]|6[79]|7[179]|8[789]|9[78]))\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"671(?:3(?:00|3[39]|4[349]|55|6[26])|4(?:56|7[1-9]|8[23678])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[5-9])|7(?:[079]7|2[0167]|3[45]|8[789])|8(?:[2-5789]8|6[48])|9(?:2[29]|6[79]|7[179]|8[789]|9[78]))\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
,[,,"NA","NA"]
@ -1896,15 +1899,15 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"3(?:08162\\d|3\\d{5}|4(?:40[49]06|5624\\d)|7(?:0624\\d|2299\\d))\\d{3}|55\\d{8}","\\d{10}"]
]
,"IN":[,[,,"[1-9]\\d{9,10}","\\d{6,11}"]
,"IN":[,[,,"1\\d{7,11}|[2-9]\\d{9,10}","\\d{6,12}"]
,[,,"(?:11|2[02]|33|4[04]|79|80)[2-6]\\d{7}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[126-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:[136][25]|22|4[28]|5[12]|[78]1|9[15])|6(?:12|[2345]1|57|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-6]\\d{6}|(?:(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[13-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1-5]|4[25-8]|5[125689]|6[235-7]|7[157-9]|8[2-467])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24-58]|7[23-689]|8[1-6])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d|7(?:(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|9\\d)\\d|8(?:2[0-6]|[013-8]\\d)))[2-6]\\d{5}","\\d{6,10}"]
,[,,"(?:7(?:39[89]|5(?:50|6[6-8]|79|[89][7-9])|6(?:0[027]|20|3[19]|54|65|7[67]|9[6-9])|7(?:0[89]|3[589]|42|60|9[5-9])|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]))\\d|9\\d{4}|8(?:(?:0[01589]|1[024])\\d|8(?:[079]\\d|44)|9[057-9]\\d)\\d)\\d{5}","\\d{10}"]
,[,,"1(?:800\\d?|600)\\d{6}","\\d{10,11}"]
,[,,"(?:7(?:2(?:0[04-9]|5[09]|7[568]|9[39])|3(?:07|7[3679]|9[689])|4(?:05|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5]|[47]9|50|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[67]|9[6-9])|7(?:0[289]|3[5-9]|42|60|9[5-9])|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7[015689]|9[0357-9]))\\d|9\\d{4}|8(?:(?:0[01589]|1[24]|2[2369]|4[023458]|52|6[0589]|7[2569])\\d|8(?:[079]\\d|44)|9[057-9]\\d)\\d)\\d{5}","\\d{10}"]
,[,,"1(?:600\\d{6}|800\\d{4,8})","\\d{8,12}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"IN",91,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{6})","$1 $2 $3",["7(?:39|5[5-9]|[67][02-9]|8[0-6])|8(?:0[01589]|1[024]|8[0479]|9[057-9])|9","7(?:39|5(?:50|[6-9])|[67][02-9]|8[0-6])|8(?:0[01589]|1[024]|8(?:[079]|44)|9[057-9])|9"]
,"IN",91,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{6})","$1 $2 $3",["7(?:2[0579]|39|4[0-389]|5[04-9]|6|7[02-9]|8[0-79])|8(?:0[01589]|1[024]|8[0479]|9[057-9])|9","7(?:2[0579]|39|4[0-389]|5(?:0[0-5]|49|50|[6-9])|6|7[02-9]|8[0-79])|8(?:0[01589]|1[024]|8(?:[079]|44)|9[057-9])|9"]
,"0$1",""]
,[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79|80[2-6]"]
,"0$1",""]
@ -1928,22 +1931,26 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"0$1",""]
,[,"(1600)(\\d{2})(\\d{4})","$1 $2 $3",["160","1600"]
,"$1",""]
,[,"(18[06]0)(\\d{2,3})(\\d{4})","$1 $2 $3",["18[06]","18[06]0"]
,[,"(1800)(\\d{4,5})","$1 $2",["180","1800"]
,"$1",""]
,[,"(18[06]0)(\\d{2,4})(\\d{4})","$1 $2 $3",["18[06]","18[06]0"]
,"$1",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"1860345\\d{4}","\\d{11}"]
]
,"IO":[,[]
,[]
,[]
,"IO":[,[,,"3\\d{6}","\\d{7}"]
,[,,"37\\d{5}","\\d{7}"]
,[,,"38\\d{5}","\\d{7}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"IO",246,"00",,,,,,,1,,,[,,"NA","NA"]
,"IO",246,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
@ -2030,7 +2037,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,1]
,"JE":[,[,,"[135789]\\d{6,9}","\\d{6,10}"]
,[,,"1534\\d{6}","\\d{6,10}"]
,[,,"7(?:509|7(?:00|97)|829|937)\\d{6}","\\d{10}"]
@ -2043,8 +2050,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))\\d{4}|55\\d{8}","\\d{10}"]
]
,"JM":[,[,,"[89]\\d{9}","\\d{7,10}"]
,[,,"876(?:(?:5[0-26]|6\\d|7[1-6]|9[2-8])\\d{5}|(?:7(?:0[2-689]|8[056]|9[45])|9(?:0[1-8]|1[02378]|9[2-468]))\\d{4})","\\d{7,10}"]
,"JM":[,[,,"[589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"876(?:(?:5[0-26]|6\\d|7[1-6]|9[2-8])\\d{5}|(?:7(?:0[2-689]|8[056]|9[45])|9(?:0[1-8]|1[02378]|9[2-468]))\\d{4})","\\d{7}(?:\\d{3})?"]
,[,,"876(?:(?:21|[348]\\d|5[78]|77)\\d|7(?:0[07]|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579]))\\d{4}","\\d{10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
@ -2055,12 +2062,12 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,"876",[,,"NA","NA"]
,[,,"NA","NA"]
]
,"JO":[,[,,"[235-9]\\d{7,8}","\\d{8,9}"]
,"JO":[,[,,"[235-9]\\d{7,8}","\\d{7,9}"]
,[,,"[2356][2-8]\\d{6}","\\d{7,8}"]
,[,,"7(?:[1-8]\\d|9[02-9])\\d{6}","\\d{9}"]
,[,,"80\\d{6}","\\d{8}"]
,[,,"900\\d{5}","\\d{8}"]
,[,,"8(?:10\\d|5\\d{2}|7(?:[02]0|7[08]|9[09]))\\d{4}","\\d{8}"]
,[,,"85\\d{6}","\\d{8}"]
,[,,"70\\d{7}","\\d{9}"]
,[,,"NA","NA"]
,"JO",962,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]"]
@ -2072,7 +2079,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"8(?:10|[78]\\d)\\d{5}","\\d{8}"]
]
,"JP":[,[,,"\\d{9,10}","\\d{9,10}"]
,[,,"(?:1(?:1[236-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-8])|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}"]
@ -2154,15 +2161,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"KI":[,[]
,[]
,[]
,"KI":[,[,,"[2-689]\\d{4}","\\d{5}"]
,[,,"(?:[234]\\d|50|8[1-5])\\d{3}","\\d{5}"]
,[,,"[69]\\d{4}","\\d{5}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"KI",686,"00","0",,,"0",,,1,,,[,,"NA","NA"]
,"KI",686,"00","0",,,"0",,,,[[,"(\\d{5})","$1",,"0$1",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
@ -2180,8 +2189,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"KN":[,[,,"[89]\\d{9}","\\d{7,10}"]
,[,,"869(?:2(?:29|36)|4(?:6[5-9]|70))\\d{4}","\\d{7,10}"]
,"KN":[,[,,"[589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"869(?:2(?:29|36)|4(?:6[5-9]|70))\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"869(?:5(?:5[6-8]|6[5-7])|66[2-9]|76[2-5])\\d{4}","\\d{10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
@ -2241,7 +2250,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"KW":[,[,,"[12569]\\d{6,7}","\\d{7,8}"]
,[,,"(?:18\\d|2(?:[23]\\d{2}|4[1-35-9]\\d|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7])))\\d{4}","\\d{7,8}"]
,[,,"(?:5(?:0[02]|5\\d)|6(?:0[034679]|5[015-9]|6\\d|7[067])|9(?:0[09]|4[049]|[79]\\d))\\d{5}","\\d{8}"]
,[,,"(?:5(?:0[0-2]|5\\d)|6(?:0[034679]|5[015-9]|6\\d|7[067]|99)|9(?:0[09]|4[049]|66|[79]\\d))\\d{5}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -2256,8 +2265,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"KY":[,[,,"[389]\\d{9}","\\d{7,10}"]
,[,,"345(?:2(?:22|44)|444|6(?:23|38|40)|7(?:6[6-9]|77)|8(?:00|1[45]|25|4[89]|88)|9(?:14|4[035-9]))\\d{4}","\\d{7,10}"]
,"KY":[,[,,"[3589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"345(?:2(?:22|44)|444|6(?:23|38|40)|7(?:6[6-9]|77)|8(?:00|1[45]|25|4[89]|88)|9(?:14|4[035-9]))\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"345(?:32[3-79]|5(?:1[467]|2[5-7]|4[5-9])|9(?:1[679]|2[4-9]|3[89]))\\d{4}","\\d{10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}|345976\\d{4}","\\d{10}"]
@ -2268,16 +2277,16 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,"345",[,,"NA","NA"]
,[,,"NA","NA"]
]
,"KZ":[,[,,"(?:[67]\\d{2}|80[09])\\d{7}","\\d{10}"]
,[,,"7(?:1(?:0(?:[23]\\d|4[023]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[1-7]|4[1235-9]|59)|4(?:2\\d|3[013-79]|4[0-58]|5[1-79])|5(?:2\\d|3[1-8]|4[1-7]|59)|6(?:22|[34]\\d|5[19])|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-4]|))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679]|)|3(?:[234]\\d|5[139]|)|4(?:22|3[1235-8])|5(?:[23]\\d|4[0124-8]|59)|6(?:22|3[1-9]|4[0-4]|59)|7(?:[23]\\d|40|5[279]|7\\d)|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[12478]|59))|3622)\\d{5}","\\d{10}"]
,[,,"7(?:0[01257]\\d{2}|1[2-578]9[01]|2(?:[13-6]9[01]|7(?:58|9[01]))|6[02-4]\\d{2}|7[157]\\d{2})\\d{5}|6\\d{9}","\\d{10}"]
,"KZ":[,[,,"(?:7\\d{2}|80[09])\\d{7}","\\d{10}"]
,[,,"7(?:1(?:0(?:[23]\\d|4[023]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[1-79]|4[0-35-9]|59)|4(?:2\\d|3[013-79]|4[0-8]|5[1-79])|5(?:2\\d|3[1-8]|4[1-7]|59)|6(?:2\\d|[34]\\d|5[19]|61)|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-5]|))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679]|)|3(?:[234]\\d|5[139]|)|4(?:2\\d|3[1235-9]|59)|5(?:[23]\\d|4[01246-8]|59|61)|6(?:2\\d|3[1-9]|4[0-4]|59)|7(?:[23]\\d|40|5[279]|7\\d)|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[124578]|59))|3622)\\d{5}","\\d{10}"]
,[,,"7(?:0[01257]\\d{2}|6[02-4]\\d{2}|7[157]\\d{2})\\d{5}","\\d{10}"]
,[,,"800\\d{7}","\\d{10}"]
,[,,"809\\d{7}","\\d{10}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"751\\d{7}","\\d{10}"]
,"KZ",7,"8~10","8",,,"8",,,,,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,,,[,,"751\\d{7}","\\d{10}"]
,[,,"NA","NA"]
]
,"LA":[,[,,"[2-57]\\d{7,9}","\\d{6,10}"]
@ -2314,8 +2323,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"LC":[,[,,"[789]\\d{9}","\\d{7,10}"]
,[,,"758(?:234|4(?:5[0-9]|6[2-9]|8[0-2])|638|758)\\d{4}","\\d{7,10}"]
,"LC":[,[,,"[5789]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"758(?:234|4(?:5[0-9]|6[2-9]|8[0-2])|638|758)\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2[0-4]))\\d{4}","\\d{10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
@ -2532,17 +2541,22 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"ME":[,[]
,[]
,[]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"ME":[,[,,"[2-9]\\d{7,8}","\\d{6,9}"]
,[,,"(?:20[2-8]|3(?:0[2-7]|1[35-7]|2[367]|3[4-7])|4(?:0[237]|1[2467])|5(?:0[47]|1[27]|2[378]))\\d{5}","\\d{6,8}"]
,[,,"6(?:32\\d|[89]\\d{2}|7(?:[0-8]\\d|9(?:[3-9]|[0-2]\\d)))\\d{4}","\\d{8,9}"]
,[,,"800[28]\\d{4}","\\d{8}"]
,[,,"(?:88\\d|9(?:4[13-8]|5[16-8]))\\d{5}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"ME",382,"99","0",,,"0",,,1,,,[,,"NA","NA"]
,[,,"78[134579]\\d{5}","\\d{8}"]
,"ME",382,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-57-9]|6[3789]","[2-57-9]|6(?:[389]|7(?:[0-8]|9[3-9]))"]
,"0$1",""]
,[,"(67)(9)(\\d{3})(\\d{3})","$1 $2 $3 $4",["679","679[0-2]"]
,"0$1",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"77\\d{6}","\\d{8}"]
]
,"MG":[,[,,"[23]\\d{8}","\\d{7,9}"]
,[,,"2(?:0(?:(?:2\\d|4[47]|5[3467]|6[279]|8[268]|9[245])\\d|7(?:2[29]|[35]\\d))|210\\d)\\d{4}","\\d{7,9}"]
@ -2640,8 +2654,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"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}"]
,"MN":[,[,,"[12]\\d{7,9}|[57-9]\\d{7}","\\d{6,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{6,10}"]
,[,,"(?:8[89]|9[15689])\\d{6}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -2677,9 +2691,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"MP":[,[,,"[689]\\d{9}","\\d{7,10}"]
,[,,"670(?:2(?:3[3-5]|88|56)|32[23]|4[38]3|532|6(?:64|70|8\\d))\\d{4}","\\d{7,10}"]
,[,,"670(?:2(?:3[3-5]|88|56)|32[23]|4[38]3|532|6(?:64|70|8\\d))\\d{4}","\\d{7,10}"]
,"MP":[,[,,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"670(?:2(?:3[3-5]|88|56)|32[23]|4[38]3|532|6(?:64|70|8\\d))\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"670(?:2(?:3[3-5]|88|56)|32[23]|4[38]3|532|6(?:64|70|8\\d))\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
,[,,"NA","NA"]
@ -2701,25 +2715,22 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"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}"]
,"MR":[,[,,"[2-48]\\d{7}","\\d{8}"]
,[,,"25[08]\\d{5}|35\\d{6}|45[1-7]\\d{5}","\\d{8}"]
,[,,"(?:2(?:2\\d|70)|3(?:3\\d|6[1-36]|7[1-3])|4(?:4\\d|6[0457-9]|7[4-9]))\\d{5}","\\d{8}"]
,[,,"800\\d{5}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"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]"]
,"",""]
,"MR",222,"00",,,,,,,,[[,"([2-48]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"MS":[,[,,"[689]\\d{9}","\\d{7,10}"]
,[,,"664491\\d{4}","\\d{7,10}"]
,"MS":[,[,,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"664491\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"664492\\d{4}","\\d{10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
@ -2758,15 +2769,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"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"]
,"MV":[,[,,"[367]\\d{6}|9(?:00\\d{7}|\\d{6})","\\d{7,10}"]
,[,,"(?:3(?:0[01]|3[0-59]|)|6(?:[567][02468]|8[024689]|90))\\d{4}","\\d{7}"]
,[,,"(?:7[36-9]|9[6-9])\\d{5}","\\d{7}"]
,[,,"NA","NA"]
,[,,"900\\d{7}","\\d{10}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"MV",960,"0(?:0|19)",,,,,,"00",,[[,"(\\d{3})(\\d{4})","$1-$2",,"",""]
,"MV",960,"0(?:0|19)",,,,,,"00",,[[,"(\\d{3})(\\d{4})","$1-$2",["[367]|9(?:[1-9]|0[1-9])"]
,"",""]
,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["900"]
,"",""]
]
,,[,,"781\\d{4}","\\d{7}"]
,,,[,,"NA","NA"]
@ -2912,7 +2926,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,1]
,"NF":[,[]
,[]
,[]
@ -2984,7 +2998,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
]
,"NO":[,[,,"0\\d{4}|[2-9]\\d{7}","\\d{5}(?:\\d{3})?"]
,[,,"0\\d{4}|(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7\\d)\\d{6}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?"]
,[,,"(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\d{6}","\\d{8}"]
,[,,"(?:4[015-8]|9\\d)\\d{6}","\\d{8}"]
,[,,"80[01]\\d{5}","\\d{8}"]
,[,,"82[09]\\d{5}","\\d{8}"]
@ -2997,9 +3011,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,1,,[,,"NA","NA"]
,[,,"0\\d{4}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?"]
,1]
,"NP":[,[,,"[1-8]\\d{5,7}|98[45]\\d{7}","\\d{6,10}"]
,[,,"(?:1[014-6]|2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-4679]|9[1-79])\\d{6}","\\d{6,8}"]
,[,,"98[45]\\d{7}","\\d{10}"]
@ -3230,9 +3244,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"PR":[,[,,"[789]\\d{9}","\\d{7,10}"]
,[,,"(?:787|939)[2-9]\\d{6}","\\d{7,10}"]
,[,,"(?:787|939)[2-9]\\d{6}","\\d{7,10}"]
,"PR":[,[,,"[5789]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"(?:787|939)[2-9]\\d{6}","\\d{7}(?:\\d{3})?"]
,[,,"(?:787|939)[2-9]\\d{6}","\\d{7}(?:\\d{3})?"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
,[,,"NA","NA"]
@ -3378,7 +3392,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,"RU",7,"8~10","8",,,"8",,,,[[,"([3489]\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[34689]"]
,"8 ($1)",""]
,[,"([67]\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[67]"]
,[,"(7\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"]
,"8 ($1)",""]
]
,,[,,"NA","NA"]
@ -3568,6 +3582,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"SJ":[,[,,"0\\d{4}|[4789]\\d{7}","\\d{5}(?:\\d{3})?"]
,[,,"79\\d{6}","\\d{8}"]
,[,,"(?:4[015-8]|9\\d)\\d{6}","\\d{8}"]
,[,,"80[01]\\d{5}","\\d{8}"]
,[,,"82[09]\\d{5}","\\d{8}"]
,[,,"810(?:0[0-6]|[2-8]\\d)\\d{3}","\\d{8}"]
,[,,"880\\d{5}","\\d{8}"]
,[,,"NA","NA"]
,"SJ",47,"00",,,,,,,,,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"0\\d{4}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?"]
,1]
,"SK":[,[,,"[2-689]\\d{8}","\\d{9}"]
,[,,"[2-5]\\d{8}","\\d{9}"]
,[,,"9(?:0[1-8]|1[0-24-9]|4[0489])\\d{6}","\\d{9}"]
@ -3626,7 +3652,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,1]
,"SN":[,[,,"[37]\\d{8}","\\d{9}"]
,[,,"3(?:010|3(?:8[1-9]|9[2-9]))\\d{5}","\\d{9}"]
,[,,"7(?:0[1256]0|6(?:1[23]|2[89]|3[3489]|4[6-9]|5[1-389]|6[6-9]|7[45]|8[3-8])|7(?:1[014-8]|2[0-7]|3[0-35-8]|4[0-6]|[56]\\d|7[0-589]|8[01]|9[0-6]))\\d{5}","\\d{9}"]
@ -3684,15 +3710,22 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"SV":[,[]
,[]
,[]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"SV":[,[,,"[27]\\d{7}|[89]\\d{6}(?:\\d{4})?","\\d{7,8}|\\d{11}"]
,[,,"2[1-6]\\d{6}","\\d{8}"]
,[,,"7\\d{7}","\\d{8}"]
,[,,"800\\d{4}(?:\\d{4})?","\\d{7}(?:\\d{4})?"]
,[,,"900\\d{4}(?:\\d{4})?","\\d{7}(?:\\d{4})?"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"SV",503,"00",,,,,,,1,,,[,,"NA","NA"]
,"SV",503,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",["[27]"]
,"",""]
,[,"(\\d{3})(\\d{4})","$1 $2",["[89]"]
,"",""]
,[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[89]"]
,"",""]
]
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
@ -3729,9 +3762,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"0800\\d{4}","\\d{8}"]
,[,,"NA","NA"]
]
,"TC":[,[,,"[689]\\d{9}","\\d{7,10}"]
,[,,"649(?:712|9(?:4\\d|50))\\d{4}","\\d{7,10}"]
,1]
,"TC":[,[,,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"649(?:712|9(?:4\\d|50))\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"649(?:2(?:3[12]|4[1-5])|3(?:3[1-39]|4[1-57])|4[34][12])\\d{4}","\\d{10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
@ -3781,7 +3814,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,1]
,"TH":[,[,,"[2-8]\\d{7,8}|1\\d{9}","\\d{8,10}"]
,[,,"(?:2[1-9]|3[24-9]|4[2-5]|5[3-6]|7[3-7])\\d{6}","\\d{8}"]
,[,,"8\\d{8}","\\d{9}"]
@ -3905,12 +3938,12 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,"(444)(\\d{1})(\\d{3})","$1 $2 $3",["444"]
,"",""]
]
,,[,,"NA","NA"]
,,[,,"512\\d{7}","\\d{10}"]
,,,[,,"NA","NA"]
,[,,"444\\d{4}|850\\d{7}","\\d{7,10}"]
]
,"TT":[,[,,"[89]\\d{9}","\\d{7,10}"]
,[,,"868(?:2(?:01|2[1-4])|6(?:1[4-6]|2[1-9]|[3-6]\\d|7[0-79]|9[0-8])|82[12])\\d{4}","\\d{7,10}"]
,"TT":[,[,,"[589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"868(?:2(?:01|2[1-4])|6(?:07|1[4-6]|2[1-9]|[3-6]\\d|7[0-79]|9[0-8])|82[12])\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"868(?:29\\d|3(?:0[1-9]|1[02-9]|[2-9]\\d)|4(?:[679]\\d|8[0-4])|6(?:20|78|8\\d)|7(?:1[02-9]|[2-9]\\d))\\d{4}","\\d{10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
@ -4007,9 +4040,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"US":[,[,,"[2-9]\\d{9}","\\d{7,10}"]
,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[04]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[1678]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7,10}"]
,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[04]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[1678]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7,10}"]
,"US":[,[,,"[2-9]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[014]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[1678]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7}(?:\\d{3})?"]
,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[014]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[1678]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7}(?:\\d{3})?"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
,[,,"NA","NA"]
@ -4063,9 +4096,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,[,,"NA","NA"]
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"VC":[,[,,"(?:784|8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
,[,,"784(?:266|3(?:6[6-9]|7\\d|8[0-24-6])|4(?:38|5[0-36-8]|8\\d|9[01])|555|638|784)\\d{4}","\\d{7,10}"]
,1]
,"VC":[,[,,"[5789]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"784(?:266|3(?:6[6-9]|7\\d|8[0-24-6])|4(?:38|5[0-36-8]|8\\d|9[01])|555|638|784)\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"784(?:4(?:3[0-24]|5[45]|9[2-5])|5(?:2[6-9]|3[0-3]|93))\\d{4}","\\d{10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
@ -4090,8 +4123,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,,[,,"NA","NA"]
,[,,"NA","NA"]
]
,"VG":[,[,,"(?:284|8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
,[,,"284(?:(?:229|4(?:46|9[45])|8(?:52|6[459]))\\d{4}|496[0-5]\\d{3})","\\d{7,10}"]
,"VG":[,[,,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"284(?:(?:229|4(?:46|9[45])|8(?:52|6[459]))\\d{4}|496[0-5]\\d{3})","\\d{7}(?:\\d{3})?"]
,[,,"284(?:(?:30[0-3]|4(?:4[0-5]|68|99)|54[0-4])\\d{4}|496[6-9]\\d{3})","\\d{10}"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
@ -4102,9 +4135,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,,"284",[,,"NA","NA"]
,[,,"NA","NA"]
]
,"VI":[,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
,"VI":[,[,,"[3589]\\d{9}","\\d{7}(?:\\d{3})?"]
,[,,"340(?:6[49]2|7[17]\\d)\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"340(?:6[49]2|7[17]\\d)\\d{4}","\\d{7}(?:\\d{3})?"]
,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
,[,,"900[2-9]\\d{6}","\\d{10}"]
,[,,"NA","NA"]


+ 58
- 1
javascript/i18n/phonenumbers/phonemetadata.pb.js View File

@ -1,4 +1,4 @@
/*
/**
* @license
* Protocol Buffer 2 Copyright 2008 Google Inc.
* All other code copyright its respective owners.
@ -1755,6 +1755,57 @@ i18n.phonenumbers.PhoneMetadata.prototype.clearLeadingDigits = function() {
};
/**
* Gets the value of the leading_zero_possible field.
* @return {?boolean} The value.
*/
i18n.phonenumbers.PhoneMetadata.prototype.getLeadingZeroPossible = function() {
return /** @type {?boolean} */ (this.get$Value(26));
};
/**
* Gets the value of the leading_zero_possible field or the default value if not set.
* @return {boolean} The value.
*/
i18n.phonenumbers.PhoneMetadata.prototype.getLeadingZeroPossibleOrDefault = function() {
return /** @type {boolean} */ (this.get$ValueOrDefault(26));
};
/**
* Sets the value of the leading_zero_possible field.
* @param {boolean} value The value.
*/
i18n.phonenumbers.PhoneMetadata.prototype.setLeadingZeroPossible = function(value) {
this.set$Value(26, value);
};
/**
* @return {boolean} Whether the leading_zero_possible field has a value.
*/
i18n.phonenumbers.PhoneMetadata.prototype.hasLeadingZeroPossible = function() {
return this.has$Value(26);
};
/**
* @return {number} The number of values in the leading_zero_possible field.
*/
i18n.phonenumbers.PhoneMetadata.prototype.leadingZeroPossibleCount = function() {
return this.count$Values(26);
};
/**
* Clears the values in the leading_zero_possible field.
*/
i18n.phonenumbers.PhoneMetadata.prototype.clearLeadingZeroPossible = function() {
this.clear$Field(26);
};
/**
* Message PhoneMetadataCollection.
@ -2038,6 +2089,12 @@ goog.proto2.Message.set$Metadata(i18n.phonenumbers.PhoneMetadata, {
name: 'leading_digits',
fieldType: goog.proto2.Message.FieldType.STRING,
type: String
},
26: {
name: 'leading_zero_possible',
fieldType: goog.proto2.Message.FieldType.BOOL,
defaultValue: false,
type: Boolean
}
});


+ 1
- 1
javascript/i18n/phonenumbers/phonenumber.pb.js View File

@ -1,4 +1,4 @@
/*
/**
* @license
* Protocol Buffer 2 Copyright 2008 Google Inc.
* All other code copyright its respective owners.


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


+ 452
- 246
javascript/i18n/phonenumbers/phonenumberutil_test.js
File diff suppressed because it is too large
View File


Loading…
Cancel
Save