powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Регулярные выражения. Имя и фамилия с дефисом.
20 сообщений из 20, страница 1 из 1
Регулярные выражения. Имя и фамилия с дефисом.
    #38712211
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Нужно регвыражением проверить имя и фамилию (всё вводится в одно поле и считается единым именем):
— только кирилические буквы и дефис;
— слова не должны быть менее двух букв;
— дефис не может быть вначале или в конце и рядом с пробелом;
— пробелы не могут быть парными и более;
— символы не могут повторяться более двух раз подряд.

Можно и попроще, только кирицу и дефис разрешить длинной имени не менее двух символов. Я вот тут навоял такой простенький условий, но даже он пропускает, если ввести только один символ. Что не так?

Код: php
1.
$regulyar_imya = "/^[А-я\-]{2,}$/";




Ещё хочу консультацию. Вот навоял с миру по нитке:

Код: php
1.
2.
3.
$regulyar_el_pochta = "/^[\-a-zA-Z0-9\._]+@[\-a-zA-Z0-9\._]+\.[a-zA-Z]{2,8}$/";

$regulyar_parol = "/^[А-я0-9A-z]{5,12}$/";



Нужны ваши замечания, если такие есть.

Спасибо.
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38712221
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин, заметил ещё вот что: не все кирилические символы проходят через это
Код: php
1.
$regulyar_imya = "/^[А-я\-]+$/";



Кто с таким сталкивался? Бред какой-то… Может из-за кодировки на сервере или что… Заметил, что Ф, Ы, Щ не проходят проверку. Ну и другие символы, все не проверял. А некоторые проходят.
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38712559
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неужели никто не ответит? Тут ещё всплыла такая проблема: буквы в формах воспринимаются как два символа, а не как один. Т. е. если делаю var_dump строки, то показывает в два раза больше символов, чем введено. Почему так?
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38712560
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejkесли делаю var_dump строки, то показывает в два раза больше символов, чем введено. Почему так?Примеры "чего вводили" и "чего показывается" - в студию!

PS: Подозреваю, что где-то кодировку (utf-8) не учли.
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38712568
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вводим «ё» и пропускаем через:
Код: php
1.
$imya = trim(htmlspecialchars(strip_tags(stripslashes($_POST["reg_imya"]))));


Потом проверяем через:
Код: php
1.
2.
$regulyar_imya = "/[А-Яа-я]{2,40}/";
if (!preg_match($regulyar_imya, $imya)) { ля-ля-ля…



Получаем чудный var_dump: string(2) "ё"
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38712584
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejkstring( 2 ) "ё"Точно, юникод
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38712589
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну так а что делать-то? Где концы искать? Я впервые с таким сталкиваюсь.
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38712591
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема в том, что я немогу теперь подписать поле для ввода пароля, сколько символов можно вводить. Если напишу (и задам) 10, то пользователь сможет ввести 10 цыфр или 5 букв…
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38712593
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleandrejkstring( 2 ) "ё"Точно, юникод

Ну да , у меня Юникод в файлах PHP. Ттеперь что, нельзя точно считать символы в строке?
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38712860
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejk,

добавить в регуляр модификатор /u ?
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38713203
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: php
1.
$regulyar_imya = "/^[А-Яа-я]{4,40}$/u";


Перестал кирилицу пропускать и число символов всё равно в два раза больше распознаёт.
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38713567
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё, пидец, я уже не знаю, что и думать. Вот это
Код: php
1.
$regulyar_imya = "/^[А-Яа-я]{4,40}$/";


не пропускает слово Петрович. Подскажите, что тут не так… Я уже головой ап стену начал биццо)))
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38713942
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejk,

Код: php
1.
2.
3.
$name = "  Петрович-Задунайский    ";
$name = htmlspecialchars(strip_tags(stripslashes(trim($name))));
var_dump(preg_match("/^[а-яё\-]{4,40}+$/iu", $name));
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38714023
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-k2-,

Спасибо, но можете мне рассказать, что я не учёл? И можно ли тогда добавить пробел, чтоб можно было имя вводить с фамилией?
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38714036
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я бы не догадался использовать + при наличии {4, 40}…
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38714047
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejk,

я как бы не спец по регуляркам, с /u сталкивалась,
а дальше тупо поискала по "регулярные выражения с кириллицей"
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38714157
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Похоже дело было в отсутствии «u», спасибо.
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38716063
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejk,

не за што, лучше таки было бы воспользоваться фильтрами :)
http://ua2.php.net/manual/en/book.filter.php
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38716560
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут возникла необходимость проверки ещё на наличие одновременного присутствия кирилицы и латиницы.
Есть такое выражение:
Код: php
1.
$regulyar_slova = "/^[a-zа-яё0-9\s\-]+$/iu";


Как из него сделать такое, которое разрешало бы либо кирилицу либо латиницу?
Пробовал с «или», но что-то со скобками намутил, всё равно пропускает смесь символов.
...
Рейтинг: 0 / 0
Регулярные выражения. Имя и фамилия с дефисом.
    #38716562
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но при этом в любом случае разрешало бы ещё и цифры с пробелами и дефисами.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Регулярные выражения. Имя и фамилия с дефисом.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]