#jquery
#jquery
Вопрос:
Как отобразить ошибку при вводе пользователем определенного символа в jQuery? или в другом значении — серверная часть не разрешает / не принимает символ.
Символы являются
и "
Пример пользовательского ввода с использованием поля ввода и textarea
.
Я пытаюсь сделать это, но не помогаю
$('#addRemark').change(function(){
if ($('#addRemark').text() == "'amp;#34'" || $('#addRemark').text() == 'amp;#92;'){
alert('Cannot contain symbol or "')
}
});
$("input[type='text']").change(function() {
if ($("input[type='text']").val() == '""' || $("input[type='text']").val() == '"'){
alert('Cannot contain symbol or "')
}
});
Ответ №1:
Вы можете использовать методы indexOf и match для проверки
ИЛИ "
при вводе в текстовой области value
.
Поскольку
это зарезервированное слово в, JS
поэтому нам нужно использовать simple regex
для проверки этого. И для этого "
мы можем использовать indexOf
метод.
Живая рабочая демонстрация:
$('#addRemark').on('input', function() {
if ($(this).val().match(/\$/) || $(this).val().indexOf('"') >= 0) {
alert('Cannot contain symbol or "')
//do something if the values contains OR "
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea id="addRemark" cols="50" rows="4" placeholder="Type Something"></textarea>
Комментарии:
1. Привет, ваш ответ работает, но предупреждение появится после того, как я щелкну вне текстовой области. Как сделать так, чтобы он автоматически срабатывал при вводе символа в текстовое поле?
2. @mastersuse Пожалуйста, проверьте мой отредактированный ответ. все работает, как только вы вводите символ. Появится предупреждение.
3. Идеально! Я отметил ваш ответ. Спасибо
4. @mastersuse Большое спасибо 🙂 Рад, что помог вам. Счастливого кодирования
5. @mastersuse уверен. Он называется методом .on в jQuery, который является заменой более старой функции, такой как
live
,delegate
— он используется для назначения прямого делегирования или события для HTML-элемента через jQuery — вы можете нажать на ссылку выше, которую я добавил, там есть краткая информация об этом 🙂