gpt4 book ai didi

javascript - 如何使用 libphonenumber AsYouTypeFormatter 处理退格键

转载 作者:行者123 更新时间:2023-12-03 01:00:40 24 4
gpt4 key购买 nike

我正在尝试使用 google-libphonenumberAsYouTypeFormatter 在 Web 表单上带有一个简单的输入元素。我将用户输入的每个键传递给 inputDigit 方法。我遇到的问题是,当用户按退格键时,google-libphonenumber 不会删除最后一位数字,而只是将 Backspace 附加到电话号码。我是否使用 AsYouTypeFormatter 不当?它不能处理退格键吗?如果是这样,并且我怀疑是这种情况,我应该如何处理用户按退格键的情况?

以下是示例项目的链接:https://stackblitz.com/edit/libphonenumber

这是代码:

import { AsYouTypeFormatter } from 'google-libphonenumber';

const appDiv: HTMLElement = document.getElementById('app');
appDiv.innerHTML = `
<h1>Libphonenumber Playground</h1>
<input id="input" type="text">
`;

this.formatter = new AsYouTypeFormatter('us');

const input = document.getElementById('input') as HTMLInputElement;

input.addEventListener('keyup', (event: KeyboardEvent) => {
console.log(this.formatter.inputDigit(event.key));
});

最佳答案

"isNumber": function(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;

if ((charCode > 31 && (charCode < 48 || charCode > 57) || charCode === 46 || charCode === 13)) {
//do not allow non numeric characters
evt.preventDefault();
}else{
//ok: numeric character
//handle phone number masking.
this.phoneNumberForm =this.formatter.inputDigit(evt.key);
}

我还没有找到任何可以将格式化程序索引移回的方法。(这并不意味着他们不在那里)我所做的是防止退格键按下事件。与任何其他非数字字符一起。这是我使用的函数:

关于javascript - 如何使用 libphonenumber AsYouTypeFormatter 处理退格键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52636888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com