[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярное выражение для валидации названия города
CeBePHb1Y
не могу сообразить как правильно составить выражение
$isValid=preg_match('/([a-zA-Zа-яА-ЯёЁ]+[-]?[a-zA-Zа-яА-ЯёЁ]*[-]?[a-zA-Zа-яА-ЯёЁ]*[-]?[a-zA-Zа- яА-ЯёЁ]*)/i', $city);
это выражение пропускает цифры. помогите составить
kaww
CeBePHb1Y, то что эта регулярка кривая - это понятно. А вот, что она должна делать, т.е. какие требования? какое название города считается валидным?
SoMeOnE
Думаю этого хватит тебе.
preg_match('/[а-яa-zёЁ\s\-]/iu', $city);


Но ты все таки озвучь правила валидности, как сказали выше.
CeBePHb1Y
ну сначала идет первое слово которое может иметь от 1 и более букв, далее может быть дефис, далее может быть слово, далее может быть опять дефис, далее может быть опять слово.
хотя если пользователь напишет "Ростов-" это тоже будет не правильно :-/
kaww
/^[а-яё][а-яё-]+[а-яё]$/ui
Вместо а-яё - весь набор валидных символов. т.к. например City 17 не пройдет , хотя регулярка соответствует требованиям.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.