javascript, jquery, чтобы проверить, является ли поле ввода только буквами, а не цифрами - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь вставить некоторые логики c в мой js, чтобы проверить, что пользователь может вводить только буквы в поле ввода, а не цифры. Два поля для города и штата. Я знаю, что я должен использовать оператор if / else и, возможно, typeOf? Любая помощь приветствуется! так что, если числа присутствуют, то я буду console.log и / или предупреждать («нет номеров или что-то в этом роде»); Я попробовал первое решение, используя только html, но у меня это не сработало, и спасибо за первый ответ !!!. Поля ввода не находятся внутри тега формы, и когда я оборачиваю их в форму, мой js перестает работать. Есть ли способ проверить это по-другому?

        $submitBtn.on('click', function () {
        let city = $cityBox.val().trim();
        let state = $stateBox.val().trim();  // trying to figure out how to do it on both of these 

        //variables. 


       //below are 2 function to run inside this submit btn click.
       // savedHistory(city, state); 
       // dailyWeather(city, state);      
    })


1 Ответ

0 голосов
/ 15 апреля 2020

Учитывая $submitBtn, похоже, что это в форме, и в этом случае вы можете использовать атрибут pattern, чтобы требовать, чтобы входные данные соответствовали шаблону перед отправкой формы. Только для букв используйте [a-zA-Z]+ (одна или несколько букв):

<form>
  <input pattern="[a-zA-Z]+">
  <input pattern="[a-zA-Z]+">
  <button>submit</button>
</form>

Но так как города и штаты могут иметь как буквы , так и пробелы, возможно, вам следует пересмотреть свое требование и разрешить пробелы, добавив пробел к набор символов:

<form>
  <input pattern="[a-zA-Z ]+">
  <input pattern="[a-zA-Z ]+">
  <button>submit</button>
</form>

Для пользовательского сообщения введите для атрибута title:

<form>
  <input pattern="[a-zA-Z ]+" title="Only letters and spaces permitted">
  <input pattern="[a-zA-Z ]+" title="Only letters and spaces permitted">
  <button>submit</button>
</form>

Нет Javascript необходимо.

...