Регулярное выражение для алфавитов с пробелами

#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;/ , чего не должно быть