javascript - 使用 JavaScript 禁用 Alt 代码/字符

标签 javascript

我希望禁止将替代代码和字符 (Ê,Œ) 放入文本输入中。尝试使用 alphanum 库以及仅禁用 alt 键仍然无法阻止字符。

想法//建议?

最佳答案

你可以尝试这样的https://jsfiddle.net/mykisscool/VpNMA/

$('#phone-number', '#example-form')

.keydown(function (e) {
    var key = e.charCode || e.keyCode || 0;
    $phone = $(this);

    // Auto-format- do not expose the mask as the user begins to type
    if (key !== 8 && key !== 9) {
        if ($phone.val().length === 4) {
            $phone.val($phone.val() + ')');
        }
        if ($phone.val().length === 5) {
            $phone.val($phone.val() + ' ');
        }           
        if ($phone.val().length === 9) {
            $phone.val($phone.val() + '-');
        }
    }

    // Allow numeric (and tab, backspace, delete) keys only
    return (key == 8 || 
            key == 9 ||
            key == 46 ||
            (key >= 48 && key <= 57) ||
            (key >= 96 && key <= 105)); 
})

.bind('focus click', function () {
    $phone = $(this);

    if ($phone.val().length === 0) {
        $phone.val('(');
    }
    else {
        var val = $phone.val();
        $phone.val('').val(val); // Ensure cursor remains at the end
    }
})

.blur(function () {
    $phone = $(this);

    if ($phone.val() === '(') {
        $phone.val('');
    }
});

您需要指定要限制的替代代码的键值。可以在 http://www.alt-codes.net/ 找到它们。

此解决方案需要 jQuery。

关于javascript - 使用 JavaScript 禁用 Alt 代码/字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32075988/

相关文章:

javascript - React Native 信用卡扫描仪面临问题

javascript - 将 JavaScript NPM 项目与 Spring Boot 融合

javascript - 基于文本输入扩展圆圈

javascript - JS、PHP、MySQL 数学运算的代码错误

javascript - Jquery 数据表编辑行

javascript - 如何在不重复的情况下从数组中获取元素?

javascript - 如何防止在 javascript 中打开剑道网格编辑器弹出窗口

javascript - 在 React 中确认 'Go Back' 的导航

javascript - 额外的元素被添加到数组中

javascript - 为什么asm.js比普通js(素数生成)慢?如何加快速度?