我正在使用libphonenumber来格式化和验证电话号码(在我的情况下为黎巴嫩号码)。
黎巴嫩电话号码的有效掩码为+961 xx xxx xxx 在他们的演示中给出的示例中,这实际上运行良好 Here
因此对于黎巴嫩,国家代码为LB
,有效模板为xx xxx xxx
例如,当输入为+961 71 123 123
==>电话号码实际上为valid
而+961 71 123 12
不是
在我的反应中,输入数字一旦到达2
时就应该到达71 123 12
,一旦到达3
就有效了
import { AsYouType } from 'libphonenumber-js'
let asYouType = new AsYouType()
asYouType.defaultCountry = 'LB';
asYouType.reset();
asYouType.input('7112312')
// <<< PROBLEM HERE >>>
console.log('number is valid ',asYouType.getNumber().isValid());
//output: is valid when it should not be valid 71 123 12 (missing one number)
asYouType.defaultCountry = 'LB';
asYouType.reset();
asYouType.input('711231')
console.log('number is valid ',asYouType.getNumber().isValid());
// out : false (OK)
asYouType.defaultCountry = 'LB';
asYouType.reset();
asYouType.input('71123123')
console.log('number is valid ',asYouType.getNumber().isValid());
// out: true (OK)
答案 0 :(得分:0)
libphonenumber-js 默认情况下使用简化的元数据集,以减小程序包的大小。您看到的可能是这种简化的结果。
如果要使用完整的元数据集,请在导入库时使用后缀 /max
。
import { AsYouType } from 'libphonenumber-js/max'
检查documentation以获得有关提供的元数据集的更多信息。