Запретить ввод в input пробелы, пока не введен другой символ

107
02 августа 2019, 13:20

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

Я нашел где-то вариант регулярного выражения и использовал атрибут pattern

<input type="text" name="name" pattern="^[^\s]+(\s.*)?$">

Однако при таком способе строка будет проверяться при отправке формы, но писать в поле все равно можно что угодно.

А я бы хотел, чтобы вообще физически нельзя было вводить в поле пробелы, пока не веден хоть один другой символ. Я подумал здесь можно использовать JavaScript c атрибутом событий oninput, но я со скриптом практически не знаком, та что не знаю, как это провернуть.

Answer 1

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

var input = document.getElementById('foo'); 
 
input.oninput = () => { 
  if(input.value.charAt(0) === ' ') { 
    input.value = ''; 
  } 
}
<input id="foo" type="text" />

READ ALSO
Переключение языка с cookie

Переключение языка с cookie

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

136
Помогите переделать работу trigger(&ldquo;change&rdquo;)

Помогите переделать работу trigger(“change”)

Есть input для указания количества покупаемого товара и рядом "стрелки" вверх/вниз для изменения его значения:

116
Пропадает связь между объектами

Пропадает связь между объектами

Имеется массив inv класса ItemInInv, в другом классе InstantiateItem есть свойство item, которое равно ItemInInv item = inv[n]Если изменить любое свойство в объекте...

122