Как отменить покупку для акцента - PullRequest
0 голосов
/ 25 февраля 2019

Я пытаюсь сделать входной текст, который пишет только \[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 голосов
/ 25 февраля 2019

Вы можете использовать событие 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"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...