Упс, пардон.
Действительно намудрил
(надо отоспаться).
Эта регулярка
/^[a-z0-9][a-z0-9_.-]{2,14}[a-z0-9]$/i
более близка к тому что мне нужно (только в логине должен допускаться лишь один символ внутри).
UPD: Пока что использую такое выражение:
/^[a-z0-9]+[_.-]?[a-z0-9]+$/i,
количество введенных символов буду проверять отдельно яваскриптом и контрольная проверка будет еще в пхп (на всякий пожарный).