Regex 将输入字段中的字符限制为字母和数字

Regex 将输入字段中的字符限制为字母和数字,regex,forms,input,Regex,Forms,Input,我希望试图在我的网站上订阅的人输入一个昵称,这个昵称应该只包含字母和数字(没有任何特殊字符) 我想做如下事情:abcdefghijklmnopqrstuvxyz1234567890仅限 我如何检查它是否只有这些?HTML5解决方案将是 <input type="text" id="input-nickname" name="nickname" pattern="[a-z\d]*" /> 要使JavaScript版本类似于HTML5方法,请查看表单的submit事件 请记住,这对

我希望试图在我的网站上订阅的人输入一个昵称,这个昵称应该只包含字母和数字(没有任何特殊字符)

我想做如下事情:
abcdefghijklmnopqrstuvxyz1234567890
仅限


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

HTML5解决方案将是

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

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


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

我建议查看一下:

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

每当我需要使用正则表达式时,我总是使用它作为源代码

使用javasacript

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

这是我的简单解决方案,仅供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>
function onChangeTagInput(e) {
    setTagInputVal(e.target.value.replace(/[^a-zA-Z\d]/ig, ""));
}

谢谢你的回答。alex的javascript版本看起来非常酷。但我试图一次推送多个字母,当我释放键时,它不会删除所有特殊字符。我只需要一个函数(php很好)来检查true或false字符串包含除a-z 0-9I以外的其他字符,我将使用类似if(preg_match(“REGEX”,“string to check”))的东西
function onChangeTagInput(e) {
    setTagInputVal(e.target.value.replace(/[^a-zA-Z\d]/ig, ""));
}