Для этого необходимо исправить 2 файла Joomla (не забудьте на всякий случай сделать резервные копии перед модификацией файлов).
1. Открываем файл
/components/com_registration/registration.html.php, находим в нем строчку:
var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]", "i");
и заменяем ее на:
var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+]", "i");
2. Открываем файл
/includes/joomla.php, находим в нем строчку:
if (eregi( "[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]", $this->username) || strlen( $this->username ) < 3) {и заменяем ее на:
if (eregi( "[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+]", $this->username) || strlen( $this->username ) < 3) {После этого в логинах пользователей можно будет использовать дефис.