使用JavaScript

时间:2015-08-18 15:00:48

标签: javascript

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

想法//建议?

2 个答案:

答案 0 :(得分:0)

您可以尝试使用此类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('');
    }
});

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

找到它们

此解决方案需要jQuery。

答案 1 :(得分:0)

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

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

产生的影响: [a-zA-z0-9 \ @。\#]&lt; - 表示以下范围内的任何内容: 小写字母a-z,大写字母A-Z,数字0-9,以及文字at,句点,空格和#标签符号。您可以创建一个:

if(formValue!= regExp){//不允许提交,或运行任何功能或有什么功能}