【发布时间】:2018-10-28 12:37:30
【问题描述】:
我正在尝试将我的电话号码输入字段设置为仅数字 (0-9)。我正在使用 jQuery 键通过此代码实现这一点。
$("#phonenumber").keydown(function (e) {
if (!(e.key.replace(/[^0-9]/g, "") === "" && e.key != "Backspace" && e.key != "Delete")) {
//I added Backspace and Delete so I can use those keys.
return;
} else {
e.preventDefault();
return false;
}
});
这适用于计算机和 iPhone 设备。然而在Android设备中,它只能偏转字母和一些特殊字符BUT,其中一些可以通过!我尝试alert() e.key,当我尝试使用特殊字符键入时它返回Unidentified。我尝试将它添加到我的 if 条件 但是 e.preventDefault() 和 return false 不起作用。当我尝试 $('#phonenumber').val() 时,它是空白的,但是有一个像这样的特殊字符。
e.key != "Backspace" && e.key != "Delete" 仅适用于 Windows 和 iPhone。 android 也将退格返回为 Unidentified。
我该如何解决这个问题?谢谢!
【问题讨论】:
标签: javascript android jquery html keyboard