#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:
Да, вы можете использовать регулярные выражения для очистки текста, но вы должны помнить, что люди могут создавать любые входные данные, которые они хотят, поскольку проверки будут выполняться на стороне клиента, и любой может просто открыть консоль и отправить все, что захочет.