Probleemita con expresiones regulares

Hola que tal!
Resulta que estoy validando un formulario para dar de alta a usuarios, el código que tenf¡go es este:
if (ereg('[a-zd_]{4,28}', $nombre)) {
    if (ereg('{3,10}', $pass)) {
    if($pass == $confirmar){
    $password = $pass;
    $query = "insert into usuario (nombre, pass) values ('".$nombre."','".$password."')";
          mysql_query($query, $link) or die (mysql_error());
         echo "usuario ".$nombre."agregado";
        }
        else{
    echo "LA CONTRASEÑA NO COINCIDE CON LA CONFIRMACION DE CONTRASEÑA";
    }} else {echo "valor no valido en la contraseña Necesita colocar al menos 10 caracteres";} ;
}
else
echo "No checa tu nombre de usuario";
    }
El punto es que al correrlo y al introsucirle datos que pasaran las validaciones, me sale este warning y este error
Warning: ereg() [function.ereg]: REG_BADRPT in C:\AppServ\www\henniges_tress\altas_usuarios.php on line 125
valor no valido en la contraseña Necesita colocar al menos 10 caracteres
Seguramente tendré algo mal en mi código pero no encuentro el error :-)

1 respuesta

Respuesta
1
Prueba a ponerlo así:
if (ereg('^[a-z]{4,28}$', $nombre))
if (ereg('{3,10}', $pass)) -> yo aquí usaría strlen, más que nada porque no estoy segura de que puedas simplemente poner  la longitud en la expresión regular sin fijar ningún patrón de caracteres.
De todas maneras, no sé si te falla en el primer ereg o en el segundo!
Nuevamente yo!
Se me olvido explicarte lo que pretendo hacer con is validaciones, porque tal vez pretendo una cosa y estoy haciendo otra:
if (ereg('[a-z]{4,28}', $nombre)) { //caracteres de a a la z y de 4 a 28 caracteres
    if (ereg('{3,10}', $pass)) {//de 3 a 10 caracteres
Saludos y Gracias
Hola!
Pues efectivaente el error estaba en la segunda expresión regular, me salia ese error porque me faltaba, como tu dices: fijar un patrón de caracteres.
Ese erro sale por eso, Gracias y nos vemos
Por tu tiempo nuevamente gracias y Saludos...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas