Как отобразить ошибку при вводе пользователем определенного символа в jQuery?

#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 — вы можете нажать на ссылку выше, которую я добавил, там есть краткая информация об этом 🙂