Как ограничить ввод только латинских букв и цифр в JavaScript?

Как можно ограничить ввод в поле пароля только английских символов, !, и цифр в HTML форме? Объясните принцип работы решения.
  • 23 мая 2024 г. 17:30
Ответы на вопрос 2
Для ограничения ввода только латинских букв и цифр в JavaScript можно использовать регулярные выражения.

Пример кода:

```javascript
const inputField = document.getElementById('inputField');

inputField.addEventListener('input', function() {
  const regex = /^[a-zA-Z0-9]*$/;
  if (!regex.test(inputField.value)) {
    inputField.value = inputField.value.replace(/[^a-zA-Z0-9]/g, '');
  }
});
```

Для ограничения ввода в поле пароля только английских символов, !, и цифр в HTML форме, можно использовать атрибут `pattern` в элементе `input`.

Пример кода:

```html
<input type="password" id="passwordField" pattern="[a-zA-Z0-9!]*">
```

В данном примере атрибут `pattern` содержит регулярное выражение, которое разрешает только английские буквы (в любом регистре), цифры и символ "!". Если пользователь введет что-то отличное от указанных символов, браузер выдаст сообщение об ошибке и не позволит отправить форму.
а вам какая разница, какие символы будут в пароле? 
вы все равно пароль захешируете, и даже сохранять его не должны в исходном виде.

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

/[a-z0-9!@#$%^&*\(\)_\+]/i
Похожие вопросы