我试图输入仅写\[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);" />
答案 0 :(得分:0)
当用户在字段中输入内容时,您可以使用input事件获取更改。
$('#test').on('input',(e)=>{
let newValue = e.currentTarget.value.replace(/[^a-zA-Z0-9 -]/g, '')
e.currentTarget.value = newValue
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="test" type="text" placeholder="test"/>