【发布时间】:2019-02-25 14:07:17
【问题描述】:
我正在尝试制作一个只写\[A-Za-z0-9 -]\ 的输入文本,所以我将条件放在 onkeydown 函数中。它运作良好。几乎。如果你写ẃéŕýúíó(带有重音符号的东西)它不起作用。
极端情况:
<input type="text" onkeydown="return false;"/>
我可以写á。如何预防?
编辑:
使用\[A-Za-z0-9 -]\ 编码
const verif = (event) => {
const char = event.key
if(char!=="Unidentified"){// when á return Unidentified
return /[A-Za-z0-9 -]/.test(char)
}else{
console.log("why!!")
return false
}
}
//tested on chrome 72
<input type="text" onkeydown="return verif(event);" />
【问题讨论】:
-
如果你使用html5你可以使用
<input type="text" pattern="[a-zA-Z0-9-]+"> -
stackoverflow.com/questions/895659/… 请向下滚动并查看所有可能的答案
-
@RomainB。我刚刚在 Codepen 中尝试过,它绝对不会阻止任何事情:/ 我可以在输入字段中输入我想要的每个重音字符
-
你能分享你用
[A-Za-z0-9 -]正则表达式尝试的代码吗?
标签: javascript dom