libphonenumber 是一个非常令人困惑的工具,考虑到在网络上发现的大量实现和示例,所以请耐心等待。
我很简单地尝试通过 HTML 文件中的脚本标记使用此包,就像我使用其他所有 JavaScript 库(如 jQuery)一样。
我已经使用 Google 的 compose 工具编译了 libphonenumber,按照说明 here
因此,对于这个单个文件,我尝试按如下方式使用它。但是,无论我尝试过什么,我似乎都无法访问其中的任何方法。
<script type="text/javascript" language="javascript" src="/static/js/libphonenumber.js"></script>
<script type="text/javascript">
$(".phone-format").keyup(function () {
// Don't reformat backspace/delete so correcting mistakes is easier
if (event.keyCode != 46 && event.keyCode != 8) {
var val_old = $(this).val();
var newString = new libphonenumber.i18n.phonenumbers.AsYouTypeFormatter('US').input(val_old);
$(this).focus().val('').val(newString);
}
});
</script>
这个使用场景完全不支持吗?
最佳答案
好吧,我想我应该早点发帖,因为发帖后我通常会找到答案。
我只是在使用 JSFiddle 时偶然发现了这一点。我注意到它们具有您可以添加的依赖项,其中包括 libphonenumber 的 JavaScript 端口(我已经尝试过使用)。虽然由于连接被拒绝而无法在 JSFiddle 中正确加载,但该链接仍然适用于缩小版本。
参见此处:Minified JavaScript of libphonenumber-js
一旦我将其放置到位并稍微修改了我的代码,突然之间我们就开始了比赛,一切都变得美好起来。
<script type="text/javascript" language="javascript" src="/static/js/libphonenumber-js.min.js"></script>
<script type="text/javascript">
$(".phone-format").keyup(function () {
var val_old = $(this).val();
var newString = new libphonenumber.AsYouType('US').input(val_old);
$(this).focus().val('').val(newString);
});
</script>
我真的很好奇我在过去几天进行的所有搜索中是否遗漏了什么,因为我觉得这不应该这么困难或需要这么多逆向工程才能找到这个版本的包。
哦,好吧,希望这对某人有帮助!
关于javascript - 在 HTML 中将 libphonenumber 与 JavaScript 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51793803/