Задать вопрос
IwanQ
@IwanQ
Плохие времена часто дают прекрасные возможности

Как настроить регулярки?

Здравствуйте.

Есть код: (https://jsfiddle.net/up0gw7fr/)
<input type="text" placeholder="Только цифры" onkeyup="this.value = this.value.replace(/\D/, '')">
<input type="text" placeholder="Только буквы" onkeyup="this.value = this.value.replace(/[^A-Za-z]/ig, '')">


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

Заранее спасибо
  • Вопрос задан
  • 74 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 2
ProjectSoft
@ProjectSoft
Front-end && Back-end разработчик
@Karpion
Рассмотрим второе, оно проще. Там написано: /[^A-Za-z]/ Это значит:
  1. Квадратные скобки - внутри список символов.
  2. ^ - отрицание "не", т.е. в список входит всё, кроме перечисленного дальше.
  3. A-Z - все буквы от A до Z.
  4. a-z - все буквы от a до z. Кстати, там дальше "i" - так что не надо отдельно упоминать заглавные и строчные буквы.
Итак, данный регекс заменяет всё, кроме указанных букв. Если Вы хотите, чтобы он не трогал также и пробел - до добавьте его куда угодно, только не рядом с минусом, варианты:
/[^ A-Za-z]/
/[^A-Z a-z]/
/[^A-Za-z ]/

С цифрами - напишите аналогично: /[^0-9 ]/ или /[^\d ]/
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы