#javascript
#javascript #регулярное выражение
Вопрос:
Мне нужна помощь с регулярным выражением. Мне нужно выражение, которое допускает только алфавиты с пробелом для названия колледжа.
Я использую :
var regex = /^[a-zA-Z][a-zA-Z\s] $/;
но это не работает.
Комментарии:
1.
\s
В вашем регулярном выражении должно быть простоs
.2. 2 вещи, которые вы не должны забывать: 1. Примите ответ Петара (и, возможно, отредактируйте * вместо ; теперь он соответствует пустой строке.). 2. поскольку это помечено как javascript, проверьте ввод и на сервере; люди могут отключить javascript и отправлять что угодно на ваш сервер. Проверки Javascript предназначены для того, чтобы помочь пользователю с мгновенной обратной связью, а не для защиты вашего приложения от неправильного ввода.
Ответ №1:
Просто добавьте пробел в [ ] :
var regex = /^[a-zA-Z ]*$/;
Комментарии:
1. есть только символы пробела, которые также будут сопоставлены этому регулярному выражению
2. но это также будет принимать поле только с пробелом без какого-либо алфавита, как избежать этого условия?
3. используйте функцию trim()
4. это означает, что строка, проходящая через это, может начинаться с «пробела». правильно?
5. @PardeepJain, его
test dd 33
также принимают.
Ответ №2:
Это лучшее решение, поскольку оно заставляет ввод начинаться с буквенного символа. Принятый ответ содержит ошибки, поскольку он не заставляет ввод начинаться с буквенного символа.
[a-zA-Z][a-zA-Z ]
Комментарии:
1. На первый взгляд я почувствовал, что наличие 2 группировок было излишним, но затем понял, что ваш ответ имеет преимущество в том, что ввод начинается с буквенного символа. 1 ед. Спасибо!
Ответ №3:
Это позволит использовать пробел между символами и не допускать использования чисел или специальных символов. Это также не позволит использовать пробел в начале и в конце.
[a-zA-Z][a-zA-Z ] [a-zA-Z]$
Комментарии:
1. Если вы хотите проверить весь текст темы, вы должны привязать его к
^
. И вы можете упомянуть, что это не позволит использовать строку, состоящую только из 1 буквы. Также, пожалуйста, используйте форматирование кода2. Это допускает пробелы в начале строки
Ответ №4:
- Специальные символы и цифры не допускаются.
- Пробелы разрешены только между двумя словами.
- Между двумя словами допускается только один пробел.
- Пробелы в начале или в конце считаются недопустимыми.
- Также допустимо имя из одного слова: ^[a-zA-z] ([s][a-zA-Z] )*$
- Допустимо имя из одного слова: ^[a-zA-z] ([s][a-zA-Z] ) $
Ответ №5:
Регулярное выражение, начинающееся со строчных или прописных букв, но не с пробела, и может иметь пробел между алфавитами, выглядит следующим образом.
/^[a-zA-Z][a-zA-Z ]*$/
Ответ №6:
Это будет принимать входные данные с алфавитами с пробелами между ними, но не только с пробелами. Также он работает для ввода одного символа.
[a-zA-Z] ([s][a-zA-Z] )*
Комментарии:
1. Вы пробовали это? Он не принимает пробел. Но это соответствует
a;bb,cc:d.eee?f§gga
2. Спасибо, что указали на это. Отредактировал ответ с небольшим исправлением.
Ответ №7:
Это сработало для меня, просто введите javascript regex validation /[A-Za-z]/
Ответ №8:
Это «^ [a-zA-Z ] * $» неверно, потому что оно допускает пробел в качестве первого символа, а также допускает только пробел в качестве имени.
Это будет работать отлично. Это не позволит использовать пробел в качестве первого символа.
pattern = "^[A-Za-z] [A-Za-z ]*$"
Комментарии:
1. Это не добавляет улучшения по сравнению с предыдущими ответами. Исходный плакат запрашивал регулярное выражение только для сопоставления символов, а не для игнорирования начальных пробелов или строк, которые являются только пробелами
Ответ №9:
Это сработало для меня
/[^a-zA-Z, ]/
Ответ №10:
Это тоже будет работать,
он будет принимать только буквы и пробелы без каких-либо символов и цифр.
^[a-zA-zs] $
^ утверждает, что позиция в начале строки Соответствует одному символу
, присутствующему в списке ниже [a-zA-z s]
- сопоставляет предыдущий токен от одного до неограниченного количества раз, столько раз, сколько возможно, возвращая по мере необходимости (жадный) a-z соответствует одному символу в диапазоне от a (индекс 97) до z (индекс 122) (с учетом регистра) A-z соответствует одному символу в диапазоне от A (индекс 65) до z (индекс 122) (с учетом регистра) s соответствует любому символу пробела (эквивалентно [ r n t f v ] ) $ утверждает позицию в конце строки или передограничитель строки в конце строки (если есть)
Ответ №11:
Это ограничит пробел в качестве первого символа
FilteringTextInputFormatter.allow(RegExp('^[a-zA-Z][a-zA-Z ]*')),
Ответ №12:
Это будет работать, чтобы не допускать пробелов в начале и принимать символы, цифры и специальные символы
/(^w )s?/
Комментарии:
1. OP приведен
college name
в качестве примера, и ваше регулярное выражение соответствует не всему тексту, а только первому слову. Это также будет соответствоватьword @$%amp;/
, чего не должно быть