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

jam*_*mes 5 regex forms input

我希望那些尝试在我的网站上订阅的人输入一个昵称,该昵称应该只由字母和数字组成(根本没有特殊字符).

我想做的事情如下:abcdefghijklmnopqrstuvwxyz1234567890 只有.

我怎样才能检查它是否只有那些?

ale*_*lex 12

HTML5解决方案将是......

<input type="text" id="input-nickname" name="nickname" pattern="[a-z\d]*"  />
Run Code Online (Sandbox Code Playgroud)

jsFiddle.

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

document.getElementById('input-nickname').onkeyup = function(event) {

    this.value = this.value.replace(/[^a-z\d]/, '');

}
Run Code Online (Sandbox Code Playgroud)

jsFiddle.

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

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