【发布时间】:2016-02-13 16:40:17
【问题描述】:
我目前正在为网站制作一个表单,发现尽管使用 jQuery 来防止输入中的特殊字符为“type="tel"”,但您仍然可以从移动键盘输入 # 和 * 字符。
我们正在使用以下 jQuery 来防止在桌面上工作的特殊字符:
$(".number-only").keydown(function (e) {
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13]) !== -1 ||
// Allow: Ctrl+A
(e.keyCode == 65 && e.ctrlKey === true) ||
// Allow: Ctrl+C
(e.keyCode == 67 && e.ctrlKey === true) ||
// Allow: Ctrl+X
(e.keyCode == 88 && e.ctrlKey === true) ||
// Allow: home, end, left, right
(e.keyCode >= 35 && e.keyCode <= 39)) {
// let it happen, don't do anything
return;
}
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
});
表单输入有以下html:
<input type="tel" name="income" id="income" placeholder="E.g 10000" class="money number-only" pattern="[0-9]*" required>
代码是否需要更多的东西,或者有人知道可以防止这些键的方法吗?也许他们有自己的密钥代码?
【问题讨论】:
标签: jquery forms mobile input keyboard