【问题标题】:Restrict all special characters except for '/' in my input text field in html在 html 的输入文本字段中限制除“/”之外的所有特殊字符
【发布时间】:2021-09-14 11:38:22
【问题描述】:

我想限制输入文本字段中的所有特殊字符,字符 / 除外。我该怎么做?

编辑:我希望我的文本字段是这样的input text

【问题讨论】:

    标签: javascript html regex


    【解决方案1】:

    您的链接指向的 sn-p 是否像您在下面看到的那样。每当按下一个键时,当焦点输入字段被聚焦时,IsAlphanumeric() 函数就会被调用。如果函数返回true,则显示该字符。如果函数返回false,则按键被忽略。

    var specialKeys = new Array();
    specialKeys.push(8); //Backspace
    specialKeys.push(9); //Tab
    specialKeys.push(46); //Delete
    specialKeys.push(36); //Home
    specialKeys.push(35); //End
    specialKeys.push(37); //Left
    specialKeys.push(39); //Right      
    
    function IsAlphaNumeric(e) {
    var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode;
    var ret = ((keyCode >= 47 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (specialKeys.indexOf(e.keyCode) != -1 && e.charCode != e.keyCode));
    return ret;
    }
    <form>
    <input type="text" id="text1" onkeypress="return IsAlphaNumeric(event);" ondrop="return false;" onpaste="return false;">
    </form>

    【讨论】:

    • 我的问题更新了,请看一下
    • 是的,就是这样,但我希望它限制除/ 之外的所有特殊字符。这里的代码限制了所有特殊字符,包括/
    • 不,不是。你试过了吗?我的代码检查 keyCode 47,sn-p 中的代码没有。
    【解决方案2】:

    这段代码成功了:

    var specialKeys = new Array();
    specialKeys.push(8);  //Backspace
    specialKeys.push(9);  //Tab
    specialKeys.push(46); //Delete
    specialKeys.push(36); //Home
    specialKeys.push(35); //End
    specialKeys.push(37); //Left
    specialKeys.push(39); //Right
         
    function IsAlphaNumeric(e) {
        var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode;
        var ret = ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (specialKeys.indexOf(e.keyCode) != -1 && e.charCode != e.keyCode));
        //console.log(e.keyCode);
        document.getElementById("error").style.display = ret ? "none" : "inline";
        if(e.charCode==47){
            ret=true;
            document.getElementById("error").style.display ="none";
        }
        return ret;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 2018-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多