Так бы сразу и писали. /^(([a-zA-Z0-9-_ ]+)|(((\xD0[\x80-\xBF])|(\xD1[\x80-\xBF])|([0-9-_ ]))+))$/i Тема старинная, а очень полезная ) спасибо за регулярку)