Тут кто говорил что полчаса писать для варианта с точками, я решил проверить - получилось 10 минут
Функция возвращающая массив со всеми вариантами расположения точек для заданной строки (логина).
PHP код:
$l = 'test123';
$logins = gdots($l);
print_r($logins);
function gdots($login, &$arr = null)
{
$result = array();
$len = strlen($login);
for($i=0;$i<$len-1;$i++) {
if($login[$i] == '.' || $login[$i+1] == '.') continue;
$var = substr($login, 0, $i+1).'.'.substr($login, $i+1);
if($arr && isset($arr[$var])) continue;
$result[$var] = true;
$result = array_merge($result, gdots($var, $result));
}
if($arr) return $result;
else return array_keys($result);
}