如何使用 intl-tel-input 格式化数字?

How to format number using intl-tel-input?

我在 index.html:

中包含了 intl-tel-input js & css 库
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/14.0.6/css/intlTelInput.css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/14.0.6/js/intlTelInput.min.js"></script>

我有另一个名为 app.js 的文件,当用户输入 textbox:

时,我在其中格式化数字
window.intlTelInputGlobals.loadUtils(_TEL_INPUT_UTILS).then(function(x, y){

var pn = $("#phone_number")[0];
var iti = intlTelInput(pn,{
    nationalMode: false,
    initialCountry: 'US'
})
var handleChangeVerification = function() {
if(iti.getNumber() ){
    iti.setNumber(iti.getNumber());
}};
pn.addEventListener('change', handleChangeVerification);
pn.addEventListener('keyup', handleChangeVerification);

变量_TEL_INPUT_UTILS加载后引用intl-tel-input的实用脚本我尝试在我的text box.

中格式化数字

此代码位于:

$(document).ready(function(){
   //...
})

现在我在 app.js 中有一个位于 loadUtils 之外的代码,我想将该数字格式化为一个变量。

当我调用相同的 loadUtils 时,我得到一个错误:

jQuery.Deferred exception: window.intlTelInputGlobals.loadUtils(...) is null my_scpecific_funcation@webpack:///./src/app.js?:258:13

问题是如何格式化变量中的数字?我需要每次都使用 loadUtils 吗?整个过程有没有更好的方法?

我不知道的是,当您使用 loadUtils 时,它会被加载并且您可以访问它。

所以我毫不费力地使用了下面的代码:

intlTelInputUtils.formatNumber(my_number_var, null, intlTelInputUtils.numberFormat.INTERNATIONAL);