【问题标题】:Prevent special characters on a tel input on mobile?防止手机上的电话输入出现特殊字符?
【发布时间】: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


    【解决方案1】:

    您确定您在移动设备中获得了正确的密钥代码吗?你试过打印吗?

    使用 jQuery 检索密钥代码的标准跨浏览器方法是 event.whichRefer to this answer.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-07
      • 1970-01-01
      • 2015-01-01
      • 2016-02-14
      • 2015-02-12
      • 2019-06-21
      • 2013-03-28
      相关资源
      最近更新 更多