Создание пользовательской проверки орфографии для html

#javascript #html #css

#javascript #HTML #css

Вопрос:

Возможно ли использовать некоторые пользовательские функции для проверки орфографии во входных данных html? Например, у меня есть вход, где значения разделены пробелами (или запятыми, не имеет значения), и функция, которая получает от нее токены. Эта функция решает, правильно ли написан токен (в моем случае было бы какое-то регулярное выражение), и возвращает значение true / false, и на основе этого некоторые слова будут подчеркнуты. В моей голове это выглядит примерно так:

 <input type="text" onCheck="checkToken">

<script>
function checkToken(token) {
  const oneCrazyRegex = /[a-b]/;
  return oneCrazyRegex.test(token);
</script>
  

Или получение всего ввода:

 function spellCheckInput(line) {
  // line is an array of tokens
  return line.map(tok => checkToken(tok));
}
  

Возможно ли это сделать с помощью js / css / html или нет?

PS onCheck это только пример, я знаю, что этот атрибут недействителен

Комментарии:

1. onCheck ? Пожалуйста, не используйте недопустимые атрибуты и избегайте использования встроенных on* обработчиков, так же, как вы (надеюсь) не используете встроенные style атрибуты. JS должен находиться только в одном месте, и это ваш файл сценария или тег.

2. Это только для примера, я поясню это

3. AFAIK нет встроенного способа «пользовательской проверки орфографии подчеркнуть» только одно слово внутри <input> поля. И вы не можете использовать <span> или другие теги внутри <input> контекста.

4.Я думаю, вы имели в виду onchange , и вы не передаете ничего checkToken , что ожидает token . Возможно, пройти this.value ? Допустим, все это работает, что делается с возвращаемым значением? Либо отправьте его другому элементу / войдите в консоль / оповещение, либо: передайте this , в функции, test token.value , и, вместо return , this.value= .

Ответ №1:

Да, вы можете использовать регулярные выражения для очистки текста, но вы должны помнить, что люди могут создавать любые входные данные, которые они хотят, поскольку проверки будут выполняться на стороне клиента, и любой может просто открыть консоль и отправить все, что захочет.