# spell77 (10.06.2016 / 01:40)аналогично a-zA-z]{1} тут не нужно {1}, по умолчанию там и так 1 символ
ПеревозЧЕГ, вот пробуй вроде работает if (!preg_match("|^[a-zA-z]{1}[a-zA-Z0-9\-\_\.]{4,20}$|",$login)){
в остальном Док уже выше написал подходящую регулярку