禁用Alt代码/字符与JavaScript

Disable Alt Codes/Characters with JavaScript

本文关键字:JavaScript 字符 Alt 代码 禁用      更新时间:2023-09-26

我希望禁用alt代码和字符(Ê,Œ)从被放入文本输入。尝试使用字母库以及禁用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/

找到它们。

在提交时为文本输入添加正则表达式验证器。

使用:(http://www.w3schools.com/jsref/jsref_obj_regexp.asp)

大意是:[a-zA-z0-9 ' @。' #] <——表示在以下范围内的任何内容:小写字母a-z,大写字母a-z,数字0-9,以及文字at、句号、空格和标签符号。您可以创建一个:

if (formValue != regExp){//不允许提交或运行任何函数}