|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
Привет всем ! Вроде не новичок в программировании, а вот в эти регулярные выражения въехать никак не удается :( Надо решить простую (наверное) задачу - проверка правильности ввода фамилии. Правила такие: 1. Только кириллица 2. Фамилия может состоять из одного слова или из двух, разделенных "-" (тире) 3. Первая буква каждого слова - заглавная, остальные - строчные Подскажите бестолковому как это сделать Спасибо за любую помощь, советы, ссылки ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 15:18 |
|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
"^[А-Я][а-я]*(-[А-Я][а-я]*)?$" Это, если фамилии из одной буквы допустимы (я когда-то работал с одним таким парнем, он кореец). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 15:25 |
|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
Вот выражение, подсмотренное в инете: Код: javascript 1.
Но так проверяется 3 слова: фамилия, имя, отчество. И работает как надо. Но надо только фамилию или имя или отчество - все в отдельных input Попробовал так: Код: javascript 1.
Но не работает - все гонит в ошибку (Иванов, Иванов-Крамской и т.д.) :( Где косяк ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 15:43 |
|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
MsGuns Где косяк ? Ты то что я написал смотрел-то? А у тебя не хватает "?" перед "$". А вот про Ё я и впрямь не подумал. Имел с этим когда-то личные проблемы, потому что у меня фамилия с "ё" - жил не тужил, и тут неожиданно выяснилось, что у меня тотально во всех документах (СНИЛС, ИНН и т.д.) стоит "е", а в паспорте "ё", пришлось все переделывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 15:51 |
|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
автор"^[А-Я][а-я]*(-[А-Я][а-я]*)?$" Добавил Ёё и все заработало. Спасибо большое :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 15:52 |
|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
А как проверить любой текст кириллицей ? Такое вот : Код: javascript 1.
работает, но только если одно слово. А может быть любое кол-во слов без проверки регистра плюс символы , ; . ? ! <пробел> - и т.д. Попробовал так: Код: javascript 1.
Не работает :( ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 16:07 |
|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
MsGuns Не работает :( Код: javascript 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 16:27 |
|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
автор/^[А-ЯЁа-яё\W]*$/.test("А как проверить любой текст кириллицей ?") Пропускает все спецсимволы (@#$%^&*), но, наверное, это правильно :) А можно все-таки без них ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 16:40 |
|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
MsGuns А можно все-таки без них ? Можно, конечно, только тогда тебе придется все "хорошие" символы явно руками перечислить xtht [....] - не забудь только whitespace добавить ('\s') и символы, которые используются в самих regexp как специальные (например '*', '?', скобки, точка и т.п.) заескейпить с помощью бекслеша '\'. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 17:12 |
|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
Вот это автор/^[A-Za-z\W]*$/ пропускает и кириллицу. Почему ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 17:18 |
|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
авторМожно, конечно, только тогда тебе придется все "хорошие" символы явно руками перечислить xtht [....] - не забудь только whitespace добавить ('\s') и символы, которые используются в самих regexp как специальные (например '*', '?', скобки, точка и т.п.) заескейпить с помощью бекслеша '\'. Да ну его в пень :) И так сойдет, я думаю. Чел же видит что набирает, не ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 17:20 |
|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
MsGuns Привет всем ! Вроде не новичок в программировании, а вот в эти регулярные выражения въехать никак не удается :( Надо решить простую (наверное) задачу - проверка правильности ввода фамилии. Правила такие: 1. Только кириллица 2. Фамилия может состоять из одного слова или из двух, разделенных "-" (тире) 3. Первая буква каждого слова - заглавная, остальные - строчные Подскажите бестолковому как это сделать Спасибо за любую помощь, советы, ссылки Джеффри Фридл "регулярные выражения" - лучшая. Не надо так заморачиваться. Фамилии может и не быть, может быть только имя. Заглавных букв может не быть или могут быть все заглавные. Заглавные буквы расставляете сами в начале каждого слова, предварительно сделав всех маленькими. Код: php 1.
как-то так ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 18:42 |
|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
Спасибо за ссылку. Книжку скачал. Уже читаю :) А как на счет фильтра для латиницы ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 19:03 |
|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
MsGuns А как на счет фильтра для латиницы ? это лишнее в большинстве случаев если клиент напишет Golubev, он уже не клиент чтоли? Или если у него на телефоне кириллица глючит, ему теперь идти в другой магазин? отсеять латиницу можно так: [^a-zA-Z] ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 19:37 |
|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
авторотсеять латиницу можно так: [^a-zA-Z] Мне нужно обратное. Но если "отсеять" кириллицу, то проходят цифры. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 19:48 |
|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
MsGuns Вот это автор/^[A-Za-z\W]*$/ пропускает и кириллицу. Почему ? Потому что "\W" это все кроме всех латинских букв, цифр и подчеркивания, ergo, в том числе и кирилица) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 19:52 |
|
Проверка фамилии с помощью регулярного выражения
|
|||
---|---|---|---|
#18+
MsGuns авторотсеять латиницу можно так: [^a-zA-Z] Мне нужно обратное. Но если "отсеять" кириллицу, то проходят цифры. MsGuns авторотсеять латиницу можно так: [^a-zA-Z] Мне нужно обратное. Но если "отсеять" кириллицу, то проходят цифры. как обратное? отсеять латиницу надо или что? для цифр добавить 0-9 перед ] ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 23:19 |
|
|
start [/forum/topic.php?fid=22&msg=40014554&tid=1443364]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 156ms |
0 / 0 |