【问题标题】:Limit characters to Letters and Numbers in input field将输入字段中的字符限制为字母和数字
【发布时间】:2011-07-20 13:48:22
【问题描述】:

我希望尝试在我的网站上订阅的人输入昵称,并且该昵称应完全由字母和数字组成(完全没有特殊字符)。

我想要以下内容:仅限abcdefghijklmnopqrstuvwxyz1234567890

如何检查它是否只有这些?

【问题讨论】:

    标签: regex forms input


    【解决方案1】:

    HTML5 解决方案是……

    <input type="text" id="input-nickname" name="nickname" pattern="[a-z\d]*"  />
    

    jsFiddle.

    但是,为了获得最佳浏览器支持,您可以使用 JavaScript...

    document.getElementById('input-nickname').onkeyup = function(event) {
    
        this.value = this.value.replace(/[^a-z\d]/, '');
    
    }
    

    jsFiddle.

    要使 JavaScript 版本类似于 HTML5 方法,请查看表单的 submit 事件。

    请记住,这对字母和数字有非常严格的定义。要获得正确的 Unicode 支持,请找到您关心的范围并使用 \u0000-\uFFFF 指定它。

    【讨论】:

      【解决方案2】:

      我建议看看:RegEx library

      它包含很多正则表达式,您可以直接在网站上测试并根据您的需要进行更改。

      每当我需要使用 RegEx 时,我总是将其用作源代码。

      【讨论】:

        【解决方案3】:

        这是我的简单解决方案仅适用于 React 用户(上述解决方案在 React 中无法正常工作)。 3 个步骤。

        首先,创建一个状态。

        const [tagInputVal, setTagInputVal] = useState("");
        

        然后,使用状态作为输入值 (value={tagInputVal}) 并将事件传递给 onChange 处理程序。

        <input id="tag-input" type="text" placeholder="Add a tag" value={tagInputVal} onChange={(e) => onChangeTagInput(e)}></input>
        

        然后,在onChange处理程序中设置事件的值。

        function onChangeTagInput(e) {
            setTagInputVal(e.target.value.replace(/[^a-zA-Z\d]/ig, ""));
        }
        

        【讨论】:

          【解决方案4】:

          使用 javasacript

          function testAlphanumeric(input){
          var regex=/^[0-9A-Za-z]+$/;
          if(regex.test(input)){
          alert("Good")
          return true;
          } else {
          alert("Incorrect")
          return false;
          }
          }
          

          源链接: http://newsourcemedia.com/blog/javascript-non-alphanumeric-characters-regex/

          【讨论】:

          • 感谢您的回答。 alex 的 javascript 版本看起来非常酷。但是我尝试一次按下多个字母,当我释放键时,它不会删除所有特殊字符。我只想要一个函数(php很好)来检查字符串是否包含除 a-z 0-9 以外的其他字符
          • 我将使用 if (preg_match("REGEX", "string to check")) 之类的东西
          猜你喜欢
          • 2017-12-17
          • 1970-01-01
          • 1970-01-01
          • 2014-10-14
          • 1970-01-01
          • 2012-01-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多