Javascript 使用来自';谷歌libphonenumber';不起作用
我想使用google libphonenumber库格式化电话号码。我不想使用Require,而是想使用ES6导入。但它似乎不起作用Javascript 使用来自';谷歌libphonenumber';不起作用,javascript,ecmascript-6,Javascript,Ecmascript 6,我想使用google libphonenumber库格式化电话号码。我不想使用Require,而是想使用ES6导入。但它似乎不起作用 import { PhoneNumberUtil, PhoneNumberFormat } from 'google-libphonenumber' const phoneUtil = PhoneNumberUtil.getInstance() let number = phoneUtil.parse(target.value, 'US') . //works
import { PhoneNumberUtil, PhoneNumberFormat } from 'google-libphonenumber'
const phoneUtil = PhoneNumberUtil.getInstance()
let number = phoneUtil.parse(target.value, 'US') . //works
let valid = phoneUtil.isValidNumber(number) . //works
console.log(phoneUtil.format(phone, PhoneNumberFormat.INTERNATIONAL)) //does not work
后来我尝试使用require
const PNF = require('google-libphonenumber').PhoneNumberFormat
console.log(phoneUtil.format(phone, PNF.INTERNATIONAL))
这也会产生错误
TypeError: a.getNationalNumber is not a function
i18n.phonenumbers.PhoneNumberUtil.format
node_modules/google-libphonenumber/dist/browser/libphonenumber.js:5435
在你的情况下,似乎你通过的是电话而不是电话号码 此函数需要一个“PhoneNumber”对象
在你的情况下,似乎你通过的是电话而不是电话号码 此函数需要一个“PhoneNumber”对象
这应该是公认的答案。这在文档中并不明显,但它确实存在。这应该是公认的答案。这在文档中并不明显,但确实存在。
import {
PhoneNumberUtil,
// using PNF alias to follow along with documentaion
PhoneNumberFormat as PNF
} from 'google-libphonenumber';
// grab your instance
const phoneUtil = PhoneNumberUtil.getInstance();
// here we are parse our number into that object
const number = phoneUtil.parse('121231234', 'ZA');
console.log(phoneUtil.isPossibleNumber(number));
console.log(phoneUtil.format(number, PNF.INTERNATIONAL));