<!DOCTYPE html>
<html>
<!--
-Copyright (C) 2010 Google Inc.
+@license
+Copyright (C) 2010 The Libphonenumber Authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
<title>Phone Number Parser Demo</title>
<script src="../../../../closure-library/closure/goog/base.js"></script>
<script>
- goog.require('goog.dom');
- goog.require('goog.json');
- goog.require('goog.proto2.ObjectSerializer');
- goog.require('goog.string.StringBuffer');
+ goog.require('goog.proto2.Message');
</script>
<script src="phonemetadata.pb.js"></script>
<script src="phonenumber.pb.js"></script>
<script src="metadata.js"></script>
<script src="phonenumberutil.js"></script>
+<script src="asyoutypeformatter.js"></script>
+<script src="demo.js"></script>
</head>
<body>
-<script>
-function phoneNumberParser() {
- var $ = goog.dom.getElement;
- var phoneNumber = $('phoneNumber').value;
- var regionCode = $('defaultCountry').value;
- var output = new goog.string.StringBuffer();
- try {
- var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance();
- var number = phoneUtil.parse(phoneNumber, regionCode);
- output.append('****Parsing Result:****\n');
- output.append(goog.json.serialize(new goog.proto2.ObjectSerializer(
- goog.proto2.ObjectSerializer.KeyOption.NAME).serialize(number)));
- output.append('\n\n****Validation Results:****');
- output.append('\nResult from isValidNumber(): ');
- output.append(phoneUtil.isValidNumber(number));
- output.append('\nResult from isValidNumberForRegion(): ')
- .append(phoneUtil.isValidNumberForRegion(number, regionCode));
- output.append('\nResult from isPossibleNumber(): ')
- .append(phoneUtil.isPossibleNumber(number));
- output.append('\nResult from getNumberType(): ');
- var PNT = i18n.phonenumbers.PhoneNumberType;
- switch(phoneUtil.getNumberType(number)) {
- case PNT.FIXED_LINE:
- output.append('FIXED_LINE');
- break;
- case PNT.MOBILE:
- output.append('MOBILE');
- break;
- case PNT.FIXED_LINE_OR_MOBILE:
- output.append('FIXED_LINE_OR_MOBILE');
- break;
- case PNT.TOLL_FREE:
- output.append('TOLL_FREE');
- break;
- case PNT.PREMIUM_RATE:
- output.append('PREMIUM_RATE');
- break;
- case PNT.SHARED_COST:
- output.append('SHARED_COST');
- break;
- case PNT.VOIP:
- output.append('VOIP');
- break;
- case PNT.PERSONAL_NUMBER:
- output.append('PERSONAL_NUMBER');
- break;
- case PNT.UNKNOWN:
- output.append('UNKNOWN');
- break;
- }
- var PNF = i18n.phonenumbers.PhoneNumberFormat;
- output.append('\n\n****Formatting Results:**** ');
- output.append('\nE164 format: ');
- output.append(phoneUtil.format(number, PNF.E164));
- output.append('\nInternational format: ');
- output.append(phoneUtil.format(number, PNF.INTERNATIONAL));
- output.append('\nNational format: ');
- output.append(phoneUtil.format(number, PNF.NATIONAL));
- output.append('\nOut-of-country format from US: ');
- output.append(phoneUtil.formatOutOfCountryCallingNumber(number, 'US'));
- } catch (e) {
- output.append('\n' + e);
- }
- $('output').value = output.toString();
- return false;
-}
-</script>
-
<h2>Phone Number Parser Demo</h2>
<form>
<input type="text" name="defaultCountry" id="defaultCountry" size="2" />
(ISO 3166-1 two-letter country code)
</p>
+ <p>
+ Specify a Carrier Code:
+ <input type="text" name="carrierCode" id="carrierCode" size="2" />
+ (optional, only valid for some countries)
+ </p>
<input type="submit" value="Submit" onclick="return phoneNumberParser();" />
<input type="reset" value="Reset" />
<p>
- <textarea id="output" rows="15" cols="60"></textarea>
+ <textarea id="output" rows="30" cols="80"></textarea>
</p>
</form>