Otro problema que me sorprende se ve aca:
Código PHP:
<?php
$cadena="fffffffffffffffffffffffffffffffffffffff";
$expresion = '/[a-z0-9-_.]{3,10}/i';
if (preg_match($expresion, $cadena)) echo 'verificado';
?>
Pueden ver que exige que haya mas de 3 caracteres pero NO respeta el maximo de 10 !! por que puede ser ???