Je cherche à utiliser http://code.google.com/p/libphonenumber/ pour un projet bien établi. Aujourd'hui, le projet n'utilise pas les bibliothèques de Google pour JavaScript, privilégiant jQuery, jQueryUI, requirejs, etc.
libphonenumber a l'air génial ... sauf que la version javascript (svn co http://libphonenumber.googlecode.com/svn/trunk/javascript/ libphonenumber-js) est incrustée d'appels de goog.require. Si vous lancez la démo (libphonenumber-js/i18n/phonenumbers/demo.html si vous avez emprunté la sortie suggérée), vous accédez à des tonnes de librairies Google de lobse-library.googlecode.com:
GET base.js
GET deps.js
GET error.js
GET string.js
GET asserts.js
GET array.js
GET useragent.js
GET browserfeature.js
GET tagname.js
GET classes.js
GET math.js
GET coordinate.js
GET size.js
GET object.js
GET dom.js
GET json.js
GET util.js
GET descriptor.js
GET fielddescriptor.js
GET message.js
GET serializer.js
GET objectserializer.js
GET stringbuffer.js
GET lazydeserializer.js
GET pbliteserializer.js
Je crois que si je compile ceci en utilisant le compilateur de fermeture ("Si vous attribuez la valeur true au paramètre use_closure_library, il recherchera les instructions goog.require () dans le code source et fournira le code de bibliothèque de fermeture demandé par ces instructions." , https://developers.google.com/closure/compiler/docs/api-ref ) Je peux réduire le nombre brut de demandes, mais cela me semble toujours une quantité de contenu plutôt excessive pour un numéro de téléphone. analyseur, même complet.
Ma question a deux réponses possibles:
Toutes les suggestions les plus appréciées.
J'ai un build personnalisé (actuellement 220 Ko) que j'utilise pour mon International Telephone Input plugin, avec de nombreuses fonctions d'aide exposées. Lisez la source pour plus de détails.
Vous pouvez également utiliser ma lib . https://github.com/Gilshallem/phoneparser
Son seulement une méthode, mais vous pouvez faire beaucoup avec elle
parsePhone("12025550104");
result: { countryCode:1, areaCode:202, number:5550104, countryISOCode:"US" }
Voici deux implémentations de Google libphonenumber en JavaScript qui n'ont aucune dépendance et sont implémentées dans un seul fichier. J'ai utilisé la version de Nathan Hammond sans problème, mais ce n'est pas sur NPM. La version de Rui Marinho est sur NPM.
Je viens de passer 2 jours à comprendre cela. Pour le moment, vous pouvez télécharger une version simplifiée de libphonenumber-js à partir de ici
déposez-le en place, avec l'habituel
<script type="text/javascript" language="javascript" src="/static/js/libphonenumber-js.min.js"></script>
et commencez à coder!
<script>
$(".phone-format").keyup(function () {
var val_old = $(this).val();
var newString = new libphonenumber.AsYouType('US').input(val_old);
$(this).focus().val('').val(newString);
});
</script>