如何取消重音符号的onkeydown

时间:2019-02-25 14:07:18

标签: javascript dom

我试图输入仅写\[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);" />

1 个答案:

答案 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"/>