регулярка

L
На сайте с 11.07.2009
Offline
6
386

помогите составить выражение, если это возможно.

вот мое - /^[а-яА-Я\da-zA-Z ]{4,}$/i

под него подходят логины, например "после завтра" "завтра небо" "ты тоже здесь"

но и "между 2пробела"

можно ли составить регулярное выражение так, чтобы между словами в логине нельзя было ставить два пробела, только один? или как сделать чтобы 2 пробела заменялись на один?

FeoOne
На сайте с 27.12.2008
Offline
32
#1

$text = preg_replace('/ +/', ' ', $text);

-
На сайте с 07.12.2005
Offline
97
-K-
#2

Заменять насильно 2 пробела на 1 - не лучший вариант, тем более если речь идет о логине. Т. к. пользователь вводил с двумя, то и вводить будет пытаться с двумя и далее.

Лучше проверить на наличие двойных пробелов и выдать ошибку:

if (preg_match("/ {2,}/is", $login, $m)) {
/// ошибка
}

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий