diff --git a/java/demo/src/com/google/phonenumbers/PhoneNumberParserServlet.java b/java/demo/src/com/google/phonenumbers/PhoneNumberParserServlet.java
index 9dd9105bc..40f0fa8f9 100644
--- a/java/demo/src/com/google/phonenumbers/PhoneNumberParserServlet.java
+++ b/java/demo/src/com/google/phonenumbers/PhoneNumberParserServlet.java
@@ -28,28 +28,26 @@ import com.google.i18n.phonenumbers.PhoneNumberToTimeZonesMapper;
import com.google.i18n.phonenumbers.PhoneNumberUtil;
import com.google.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberFormat;
import com.google.i18n.phonenumbers.PhoneNumberUtil.PhoneNumberType;
+import com.google.i18n.phonenumbers.PhoneNumberUtil.ValidationResult;
import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
import com.google.i18n.phonenumbers.ShortNumberInfo;
import com.google.i18n.phonenumbers.geocoding.PhoneNumberOfflineGeocoder;
-
-import org.apache.commons.fileupload.FileItemIterator;
-import org.apache.commons.fileupload.FileItemStream;
-import org.apache.commons.fileupload.FileUploadException;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
-import org.apache.commons.fileupload.util.Streams;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringEscapeUtils;
-
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Locale;
import java.util.StringTokenizer;
-
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.apache.commons.fileupload.FileItemIterator;
+import org.apache.commons.fileupload.FileItemStream;
+import org.apache.commons.fileupload.FileUploadException;
+import org.apache.commons.fileupload.servlet.ServletFileUpload;
+import org.apache.commons.fileupload.util.Streams;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang.StringEscapeUtils;
/**
* A servlet that accepts requests that contain strings representing a phone number and a default
@@ -61,10 +59,11 @@ import javax.servlet.http.HttpServletResponse;
public class PhoneNumberParserServlet extends HttpServlet {
private PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
private ShortNumberInfo shortInfo = ShortNumberInfo.getInstance();
+
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String phoneNumber = null;
String defaultCountry = null;
- String languageCode = "en"; // Default languageCode to English if nothing is entered.
+ String languageCode = "en"; // Default languageCode to English if nothing is entered.
String regionCode = "";
String fileContents = null;
ServletFileUpload upload = new ServletFileUpload();
@@ -106,16 +105,14 @@ public class PhoneNumberParserServlet extends HttpServlet {
if (fileContents == null || fileContents.length() == 0) {
// Redirect to a URL with the given input encoded in the query parameters.
Locale geocodingLocale = new Locale(languageCode, regionCode);
- resp.sendRedirect(getPermaLinkURL(phoneNumber, defaultCountry, geocodingLocale,
- false /* absoluteURL */));
+ resp.sendRedirect(
+ getPermaLinkURL(phoneNumber, defaultCountry, geocodingLocale, false /* absoluteURL */));
} else {
resp.getWriter().println(getOutputForFile(defaultCountry, fileContents));
}
}
- /**
- * Handle the get request to get information about a number based on query parameters.
- */
+ /** Handle the get request to get information about a number based on query parameters. */
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String phoneNumber = req.getParameter("number");
if (phoneNumber == null) {
@@ -128,20 +125,21 @@ public class PhoneNumberParserServlet extends HttpServlet {
String geocodingParam = req.getParameter("geocodingLocale");
Locale geocodingLocale;
if (geocodingParam == null) {
- geocodingLocale = ENGLISH; // Default languageCode to English if nothing is entered.
+ geocodingLocale = ENGLISH; // Default languageCode to English if nothing is entered.
} else {
geocodingLocale = Locale.forLanguageTag(geocodingParam);
}
resp.setContentType("text/html");
resp.setCharacterEncoding(UTF_8.name());
- resp.getWriter().println(
- getOutputForSingleNumber(phoneNumber, defaultCountry, geocodingLocale));
+ resp.getWriter()
+ .println(getOutputForSingleNumber(phoneNumber, defaultCountry, geocodingLocale));
}
private StringBuilder getOutputForFile(String defaultCountry, String fileContents) {
- StringBuilder output = new StringBuilder(
- "
Results generated from phone numbers in the file provided:"
- + " ");
+ StringBuilder output =
+ new StringBuilder(
+ "Results generated from phone numbers in the file provided:"
+ + " ");
output.append("");
output.append("ID ");
output.append("Raw phone number ");
@@ -155,25 +153,31 @@ public class PhoneNumberParserServlet extends HttpServlet {
phoneNumberId++;
output.append("");
output.append("").append(phoneNumberId).append(" \n");
- output.append("").append(
- StringEscapeUtils.escapeHtml(numberStr)).append(" \n");
+ output
+ .append("")
+ .append(StringEscapeUtils.escapeHtml(numberStr))
+ .append(" \n");
try {
PhoneNumber number = phoneUtil.parseAndKeepRawInput(numberStr, defaultCountry);
boolean isNumberValid = phoneUtil.isValidNumber(number);
- String prettyFormat = isNumberValid
- ? phoneUtil.formatInOriginalFormat(number, defaultCountry)
- : "invalid";
- String internationalFormat = isNumberValid
- ? phoneUtil.format(number, PhoneNumberFormat.INTERNATIONAL)
- : "invalid";
+ String prettyFormat =
+ isNumberValid ? phoneUtil.formatInOriginalFormat(number, defaultCountry) : "invalid";
+ String internationalFormat =
+ isNumberValid ? phoneUtil.format(number, PhoneNumberFormat.INTERNATIONAL) : "invalid";
- output.append("").append(
- StringEscapeUtils.escapeHtml(prettyFormat)).append(" \n");
- output.append("").append(
- StringEscapeUtils.escapeHtml(internationalFormat)).append(" \n");
+ output
+ .append("")
+ .append(StringEscapeUtils.escapeHtml(prettyFormat))
+ .append(" \n");
+ output
+ .append("")
+ .append(StringEscapeUtils.escapeHtml(internationalFormat))
+ .append(" \n");
} catch (NumberParseException e) {
- output.append("").append(
- StringEscapeUtils.escapeHtml(e.toString())).append(" \n");
+ output
+ .append("")
+ .append(StringEscapeUtils.escapeHtml(e.toString()))
+ .append(" \n");
}
output.append(" ");
}
@@ -188,26 +192,27 @@ public class PhoneNumberParserServlet extends HttpServlet {
output.append("");
}
- /**
- * Returns a stable URL pointing to the result page for the given input.
- */
+ /** Returns a stable URL pointing to the result page for the given input. */
private String getPermaLinkURL(
String phoneNumber, String defaultCountry, Locale geocodingLocale, boolean absoluteURL) {
// If absoluteURL is false, generate a relative path. Otherwise, produce an absolute URL.
- StringBuilder permaLink = new StringBuilder(
- absoluteURL ? "http://libphonenumber.appspot.com/phonenumberparser" : "/phonenumberparser");
+ StringBuilder permaLink =
+ new StringBuilder(
+ absoluteURL
+ ? "http://libphonenumber.appspot.com/phonenumberparser"
+ : "/phonenumberparser");
try {
permaLink.append(
"?number=" + URLEncoder.encode(phoneNumber != null ? phoneNumber : "", UTF_8.name()));
if (defaultCountry != null && !defaultCountry.isEmpty()) {
permaLink.append("&country=" + URLEncoder.encode(defaultCountry, UTF_8.name()));
}
- if (!geocodingLocale.getLanguage().equals(ENGLISH.getLanguage()) ||
- !geocodingLocale.getCountry().isEmpty()) {
- permaLink.append("&geocodingLocale=" +
- URLEncoder.encode(geocodingLocale.toLanguageTag(), UTF_8.name()));
+ if (!geocodingLocale.getLanguage().equals(ENGLISH.getLanguage())
+ || !geocodingLocale.getCountry().isEmpty()) {
+ permaLink.append(
+ "&geocodingLocale=" + URLEncoder.encode(geocodingLocale.toLanguageTag(), UTF_8.name()));
}
- } catch(UnsupportedEncodingException e) {
+ } catch (UnsupportedEncodingException e) {
// UTF-8 is guaranteed in Java, so this should be impossible.
throw new AssertionError(e);
}
@@ -215,21 +220,21 @@ public class PhoneNumberParserServlet extends HttpServlet {
}
private static final String NEW_ISSUE_BASE_URL =
- "https://issuetracker.google.com/issues/new?component=192347&title=";
+ "https://issuetracker.google.com/issues/new?component=192347&title=";
- /**
- * Returns a link to create a new github issue with the relevant information.
- */
+ /** Returns a link to create a new github issue with the relevant information. */
private String getNewIssueLink(
String phoneNumber, String defaultCountry, Locale geocodingLocale) {
boolean hasDefaultCountry = !defaultCountry.isEmpty() && defaultCountry != "ZZ";
- String issueTitle = "Validation issue with " + phoneNumber
- + (hasDefaultCountry ? " (" + defaultCountry + ")" : "");
+ String issueTitle =
+ "Validation issue with "
+ + phoneNumber
+ + (hasDefaultCountry ? " (" + defaultCountry + ")" : "");
String newIssueLink = NEW_ISSUE_BASE_URL;
try {
newIssueLink += URLEncoder.encode(issueTitle, UTF_8.name());
- } catch(UnsupportedEncodingException e) {
+ } catch (UnsupportedEncodingException e) {
// UTF-8 is guaranteed in Java, so this should be impossible.
throw new AssertionError(e);
}
@@ -243,15 +248,16 @@ public class PhoneNumberParserServlet extends HttpServlet {
private StringBuilder getOutputForSingleNumber(
String phoneNumber, String defaultCountry, Locale geocodingLocale) {
StringBuilder output = new StringBuilder("");
- output.append(
- " ");
+ output.append(" ");
output.append("");
output.append("");
output.append("Phone Number entered: " + StringEscapeUtils.escapeHtml(phoneNumber) + " ");
- output.append("defaultCountry entered: " + StringEscapeUtils.escapeHtml(defaultCountry)
- + " ");
- output.append("Language entered: "
- + StringEscapeUtils.escapeHtml(geocodingLocale.toLanguageTag()) + " ");
+ output.append(
+ "defaultCountry entered: " + StringEscapeUtils.escapeHtml(defaultCountry) + " ");
+ output.append(
+ "Language entered: "
+ + StringEscapeUtils.escapeHtml(geocodingLocale.toLanguageTag())
+ + " ");
try {
PhoneNumber number = phoneUtil.parseAndKeepRawInput(phoneNumber, defaultCountry);
output.append("");
@@ -276,24 +282,33 @@ public class PhoneNumberParserServlet extends HttpServlet {
output.append("
");
output.append("Validation Results ");
appendLine("Result from isPossibleNumber()", Boolean.toString(isPossible), output);
- if (!isPossible) {
- appendLine("Result from isPossibleNumberWithReason()",
- phoneUtil.isPossibleNumberWithReason(number).toString(), output);
- output.append("Note: numbers that are not possible have type " +
- "UNKNOWN, an unknown region, and are considered invalid. ");
- } else {
- appendLine("Result from isValidNumber()", Boolean.toString(isNumberValid), output);
- if (isNumberValid) {
- if (hasDefaultCountry) {
- appendLine(
- "Result from isValidNumberForRegion()",
- Boolean.toString(phoneUtil.isValidNumberForRegion(number, defaultCountry)),
- output);
+ if (isPossible) {
+ if (phoneUtil.isPossibleNumberWithReason(number)
+ == ValidationResult.IS_POSSIBLE_LOCAL_ONLY) {
+ appendLine("Result from isPossibleNumberWithReason()", "IS_POSSIBLE_LOCAL_ONLY", output);
+ output.append(
+ "Number is considered invalid as it is "
+ + "not a possible national number. ");
+ } else {
+ appendLine("Result from isValidNumber()", Boolean.toString(isNumberValid), output);
+ if (isNumberValid && hasDefaultCountry) {
+ appendLine(
+ "Result from isValidNumberForRegion()",
+ Boolean.toString(phoneUtil.isValidNumberForRegion(number, defaultCountry)),
+ output);
}
+ String region = phoneUtil.getRegionCodeForNumber(number);
+ appendLine("Phone Number region", region == null ? "" : region, output);
+ appendLine("Result from getNumberType()", numberType.toString(), output);
}
- String region = phoneUtil.getRegionCodeForNumber(number);
- appendLine("Phone Number region", region == null ? "" : region, output);
- appendLine("Result from getNumberType()", numberType.toString(), output);
+ } else {
+ appendLine(
+ "Result from isPossibleNumberWithReason()",
+ phoneUtil.isPossibleNumberWithReason(number).toString(),
+ output);
+ output.append(
+ "Note: Numbers that are not possible have type UNKNOWN,"
+ + " an unknown region, and are considered invalid. ");
}
output.append("
");
output.append("
");
@@ -303,20 +318,25 @@ public class PhoneNumberParserServlet extends HttpServlet {
output.append("");
output.append("Short Number Results ");
boolean isPossibleShort = shortInfo.isPossibleShortNumber(number);
- appendLine("Result from isPossibleShortNumber()",
- Boolean.toString(isPossibleShort), output);
+ appendLine(
+ "Result from isPossibleShortNumber()", Boolean.toString(isPossibleShort), output);
if (isPossibleShort) {
- appendLine("Result from isValidShortNumber()",
- Boolean.toString(shortInfo.isValidShortNumber(number)), output);
+ appendLine(
+ "Result from isValidShortNumber()",
+ Boolean.toString(shortInfo.isValidShortNumber(number)),
+ output);
if (hasDefaultCountry) {
boolean isPossibleShortForRegion =
shortInfo.isPossibleShortNumberForRegion(number, defaultCountry);
- appendLine("Result from isPossibleShortNumberForRegion()",
- Boolean.toString(isPossibleShortForRegion), output);
+ appendLine(
+ "Result from isPossibleShortNumberForRegion()",
+ Boolean.toString(isPossibleShortForRegion),
+ output);
if (isPossibleShortForRegion) {
- appendLine("Result from isValidShortNumberForRegion()",
- Boolean.toString(shortInfo.isValidShortNumberForRegion(number,
- defaultCountry)), output);
+ appendLine(
+ "Result from isValidShortNumberForRegion()",
+ Boolean.toString(shortInfo.isValidShortNumberForRegion(number, defaultCountry)),
+ output);
}
}
}
@@ -327,11 +347,12 @@ public class PhoneNumberParserServlet extends HttpServlet {
output.append("");
output.append("
");
output.append("Formatting Results ");
- appendLine("E164 format",
- isNumberValid ? phoneUtil.format(number, PhoneNumberFormat.E164) : "invalid",
- output);
- appendLine("Original format",
- phoneUtil.formatInOriginalFormat(number, defaultCountry), output);
+ appendLine(
+ "E164 format",
+ isNumberValid ? phoneUtil.format(number, PhoneNumberFormat.E164) : "invalid",
+ output);
+ appendLine(
+ "Original format", phoneUtil.formatInOriginalFormat(number, defaultCountry), output);
appendLine("National format", phoneUtil.format(number, PhoneNumberFormat.NATIONAL), output);
appendLine(
"International format",
@@ -357,8 +378,8 @@ public class PhoneNumberParserServlet extends HttpServlet {
// Note this doesn't handle supplementary characters, but it shouldn't be a big deal as
// there are no dial-pad characters in the supplementary range.
char inputChar = phoneNumber.charAt(i);
- appendLine("Char entered: '" + inputChar + "' Output: ",
- formatter.inputDigit(inputChar), output);
+ appendLine(
+ "Char entered: '" + inputChar + "' Output: ", formatter.inputDigit(inputChar), output);
}
output.append("
");
output.append("
");
@@ -369,8 +390,8 @@ public class PhoneNumberParserServlet extends HttpServlet {
output.append("PhoneNumberOfflineGeocoder Results ");
appendLine(
"Location",
- PhoneNumberOfflineGeocoder.getInstance().getDescriptionForNumber(
- number, geocodingLocale),
+ PhoneNumberOfflineGeocoder.getInstance()
+ .getDescriptionForNumber(number, geocodingLocale),
output);
output.append("
");
output.append("");
@@ -385,9 +406,9 @@ public class PhoneNumberParserServlet extends HttpServlet {
output.append("
");
output.append("");
- if (numberType == PhoneNumberType.MOBILE ||
- numberType == PhoneNumberType.FIXED_LINE_OR_MOBILE ||
- numberType == PhoneNumberType.PAGER) {
+ if (numberType == PhoneNumberType.MOBILE
+ || numberType == PhoneNumberType.FIXED_LINE_OR_MOBILE
+ || numberType == PhoneNumberType.PAGER) {
output.append("");
output.append("
");
output.append("PhoneNumberToCarrierMapper Results ");
@@ -403,10 +424,14 @@ public class PhoneNumberParserServlet extends HttpServlet {
String newIssueLink = getNewIssueLink(phoneNumber, defaultCountry, geocodingLocale);
String guidelinesLink =
"https://github.com/google/libphonenumber/blob/master/CONTRIBUTING.md";
- output.append("File an issue : by clicking on "
- + "this link , I confirm that I "
- + "have read the contributor's guidelines .");
+ output.append(
+ "File an issue : by clicking on "
+ + "this link , I confirm that I "
+ + "have read the contributor's guidelines .");
} catch (NumberParseException e) {
output.append(StringEscapeUtils.escapeHtml(e.toString()));
}
diff --git a/javascript/i18n/phonenumbers/demo-compiled.js b/javascript/i18n/phonenumbers/demo-compiled.js
index 540e67612..3b5dac4ce 100644
--- a/javascript/i18n/phonenumbers/demo-compiled.js
+++ b/javascript/i18n/phonenumbers/demo-compiled.js
@@ -3,15 +3,10 @@
Copyright The Closure Library Authors.
SPDX-License-Identifier: Apache-2.0
*/
-var aa=this||self;function ba(a){a.da=void 0;a.ca=function(){return a.da?a.da:a.da=new a}}function h(a,b){function c(){}c.prototype=b.prototype;a.ea=b.prototype;a.prototype=new c;a.prototype.constructor=a};function l(a){if(Error.captureStackTrace)Error.captureStackTrace(this,l);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))}h(l,Error);l.prototype.name="CustomError";function ca(a,b){a=a.split("%s");for(var c="",d=a.length-1,e=0;ec?Math.max(0,a.length+c):c;if("string"===typeof a)return"string"!==typeof b||1!=b.length?-1:a.indexOf(b,c);for(;cb?1:ac?Math.max(0,a.length+c):c;if("string"===typeof a)return"string"!==typeof b||1!=b.length?-1:a.indexOf(b,c);for(;cb?1:aa.length?!1:N($a,a)}function hb(a){return N(Ya,a)?O(a,Ra):O(a,L)}function ib(a){var b=hb(a.toString());D(a);a.a(b)}function jb(a){return null!=a&&(1!=z(a,9)||-1!=w(a,9)[0])}
-function O(a,b){for(var c=new C,d,e=a.length,f=0;f=e?a=c:(d=d.substring(0,e),d=O(d,L),0==d.length?a=c:(g=g.clone(),Fa(g,4),d=[g],g=y(b,1),c=Q(b),g in K?(a=T(a,g,U(g)),e=ub(d,c),null!=e&&(d=e.clone(),e=y(e,4),0b?2:f[f.length-1]=e&&e<=d;++e)if(c=parseInt(a.substring(0,e),10),c in K)return b.a(a.substring(e)),c;return 0}
-function Fb(a,b,c,d,e,f){if(0==b.length)return 0;b=new C(b);var g;null!=c&&(g=u(c,11));null==g&&(g="NonMatch");var k=b.toString();if(0==k.length)g=20;else if(M.test(k))k=k.replace(M,""),D(b),b.a(hb(k)),g=1;else{k=new RegExp(g);ib(b);g=b.toString();if(0==g.search(k)){k=g.match(k)[0].length;var m=g.substring(k).match(Ua);m&&null!=m[1]&&0=b.b.length)throw Error("Phone number too short after IDD");
-a=Eb(b,d);if(0!=a)return v(f,1,a),a;throw Error("Invalid country calling code");}if(null!=c&&(g=y(c,10),k=""+g,m=b.toString(),0==m.lastIndexOf(k,0)&&(k=new C(m.substring(k.length)),m=u(c,1),m=new RegExp(y(m,2)),Gb(k,c,null),k=k.toString(),!N(m,b.toString())&&N(m,k)||3==Cb(a,b.toString(),c,-1))))return d.a(k),e&&v(f,6,10),v(f,1,g),g;v(f,1,0);return 0}
-function Gb(a,b,c){var d=a.toString(),e=d.length,f=u(b,15);if(0!=e&&null!=f&&0!=f.length){var g=new RegExp("^(?:"+f+")");if(e=g.exec(d)){f=new RegExp(y(u(b,1),2));var k=N(f,d),m=e.length-1;b=u(b,16);if(null==b||0==b.length||null==e[m]||0==e[m].length){if(!k||N(f,d.substring(e[0].length)))null!=c&&0b.b.length)throw Error("The string supplied is too short to be a phone number");null!=g&&(c=new C,e=new C(b.toString()),Gb(e,g,c),a=Cb(a,e.toString(),g,-1),2!=a&&4!=a&&5!=a&&(b=e,d&&0a)throw Error("The string supplied is too short to be a phone number");if(17a.length?!1:L(Va,a)}function cb(a){return L(Sa,a)?M(a,La):M(a,I)}function db(a){var b=cb(a.toString());n(a);a.a(b)}function eb(a){return null!=a&&(1!=A(a,9)||-1!=y(a,9)[0])}
+function M(a,b){for(var c=new l,d,e=a.length,f=0;f=e?c=b:(d=d.substring(0,e),d=M(d,I),0==d.length?c=b:(g=g.clone(),za(g,4),d=[g],g=z(a,1),b=P(a),g in E?(c=R(c,g,S(g)),e=nb(d,b),null!=e&&(d=e.clone(),e=z(e,4),0b?2:f[f.length-1]=e&&e<=d;++e)if(c=parseInt(a.substring(0,e),10),c in E)return b.a(a.substring(e)),c;return 0}
+function zb(a,b,c,d,e,f){if(0==b.length)return 0;b=new l(b);var g;null!=c&&(g=w(c,11));null==g&&(g="NonMatch");var h=b.toString();if(0==h.length)g=20;else if(J.test(h))h=h.replace(J,""),n(b),b.a(cb(h)),g=1;else{h=new RegExp(g);db(b);g=b.toString();if(0==g.search(h)){h=g.match(h)[0].length;var m=g.substring(h).match(Oa);m&&null!=m[1]&&0=b.b.length)throw Error("Phone number too short after IDD");
+a=yb(b,d);if(0!=a)return x(f,1,a),a;throw Error("Invalid country calling code");}if(null!=c&&(g=z(c,10),h=""+g,m=b.toString(),0==m.lastIndexOf(h,0)&&(h=new l(m.substring(h.length)),m=w(c,1),m=new RegExp(z(m,2)),Ab(h,c,null),h=h.toString(),!L(m,b.toString())&&L(m,h)||3==wb(a,b.toString(),c,-1))))return d.a(h),e&&x(f,6,10),x(f,1,g),g;x(f,1,0);return 0}
+function Ab(a,b,c){var d=a.toString(),e=d.length,f=w(b,15);if(0!=e&&null!=f&&0!=f.length){var g=new RegExp("^(?:"+f+")");if(e=g.exec(d)){f=new RegExp(z(w(b,1),2));var h=L(f,d),m=e.length-1;b=w(b,16);if(null==b||0==b.length||null==e[m]||0==e[m].length){if(!h||L(f,d.substring(e[0].length)))null!=c&&0b.b.length)throw Error("The string supplied is too short to be a phone number");null!=g&&(c=new l,e=new l(b.toString()),Ab(e,g,c),a=wb(a,e.toString(),g,-1),2!=a&&4!=a&&5!=a&&(b=e,d&&0a)throw Error("The string supplied is too short to be a phone number");if(17 0) {
output.append('\nNational format with carrier code: ');
- output.append(phoneUtil.formatNationalNumberWithCarrierCode(number,
- carrierCode));
+ output.append(
+ phoneUtil_.formatNationalNumberWithCarrierCode(number, carrierCode));
}
output.append('\n\n****AsYouTypeFormatter Results****');
var formatter = new i18n.phonenumbers.AsYouTypeFormatter(regionCode);
@@ -171,4 +164,31 @@ function phoneNumberParser() {
return false;
}
+function getNumberTypeString(number) {
+ switch (phoneUtil_.getNumberType(number)) {
+ case i18n.phonenumbers.PhoneNumberType.FIXED_LINE:
+ return 'FIXED_LINE';
+ case i18n.phonenumbers.PhoneNumberType.MOBILE:
+ return 'MOBILE'
+ case i18n.phonenumbers.PhoneNumberType.FIXED_LINE_OR_MOBILE:
+ return 'FIXED_LINE_OR_MOBILE';
+ case i18n.phonenumbers.PhoneNumberType.TOLL_FREE:
+ return 'TOLL_FREE';
+ case i18n.phonenumbers.PhoneNumberType.PREMIUM_RATE:
+ return 'PREMIUM_RATE';
+ case i18n.phonenumbers.PhoneNumberType.SHARED_COST:
+ return 'SHARED_COST';
+ case i18n.phonenumbers.PhoneNumberType.VOIP:
+ return 'VOIP';
+ case i18n.phonenumbers.PhoneNumberType.PERSONAL_NUMBER:
+ return 'PERSONAL_NUMBER';
+ case i18n.phonenumbers.PhoneNumberType.PAGER:
+ return 'PAGER';
+ case i18n.phonenumbers.PhoneNumberType.UAN:
+ return 'UAN';
+ case i18n.phonenumbers.PhoneNumberType.UNKNOWN:
+ return 'UNKNOWN';
+ }
+}
+
goog.exportSymbol('phoneNumberParser', phoneNumberParser);