【问题标题】:javascript input masking for numeric and english keyboard onlyjavascript 输入屏蔽仅适用于数字和英文键盘
【发布时间】:2025-12-07 19:05:02
【问题描述】:

我有一个掩码为"999999999" 的输入字段。它在英文键盘上工作得很好,但我也可以在其中输入日文/中文字符(打破掩蔽)。

有没有办法将输入限制为仅限英文键盘数字?

<input type="text" id="pin" lang="en">

我也尝试了以下方法,但没有成功。

$.fn.onlyNumeric = function(config) {
    var defaults = {
    }
    var options = $.extend(defaults, config);
    return this.each(function(){
        $(this).bind('keyup blur', function(){
            $(this).val($(this).val().replace(/[^0-9]/g, ''));
        });
    });
}

$('#pin').onlyNumeric();

有什么帮助吗?

【问题讨论】:

  • 你能贴几个日本字符来说明这个问题吗?我正在尝试这个,它似乎工作正常:'スが344d'.replace(/[^0-9]/g,'')

标签: javascript jquery html masking input-mask


【解决方案1】:

您可以尝试像这样使用按键事件:

$('#pin').on('keypress',function(e){
    if(!$.isNumeric(String.fromCharCode(e.which))) return false;
});

SEE DEMO

【讨论】:

  • 好的,我试过了,但我仍然可以输入不同的键盘(日语)字符。
【解决方案2】:

我搜索了判断日文javascript的日文字符方法。 有许多日本网站对此进行了描述。对不起,我不知道 jquery。我希望你能从中得到提示。这是我找到的链接。

http://javascript.eweb-design.com/1205_no.html

尝试示例页面:

http://javascript.eweb-design.com/sample/s1205_1.html

我无法在上面示例页面的输入框中输入日文字符。似乎只允许使用 [0-9] 和 [¥b] 和 ¥r 字符。

【讨论】:

    最近更新 更多