Foros del Web » Programando para Internet » PHP »

expresiones regulares (ereg)

Estas en el tema de expresiones regulares (ereg) en el foro de PHP en Foros del Web. Muy buenas, Tengo un problemilla con la función ereg, a ver si alguien me puede ayudar... Estoy intentando controlar la caja de texto nombre cuando ...
  #1 (permalink)  
Antiguo 19/08/2005, 01:57
 
Fecha de Ingreso: enero-2005
Mensajes: 94
Antigüedad: 12 años, 11 meses
Puntos: 0
expresiones regulares (ereg)

Muy buenas,

Tengo un problemilla con la función ereg, a ver si alguien me puede ayudar...

Estoy intentando controlar la caja de texto nombre cuando el usuario se da de alta. Quiero que se escriban más de 3 caracteres y menos de 30. Ha de empezar por una letra y sólo puede contener letras, números y el simbolo "-".

Que empieze por una letra lo he conseguido sacar:
Código PHP:
ereg("([a-zA-Z])"substr($nombre01)) 
Pero que sólo contengo letras, números y el simbolo "-", me da más problemas. Lo que tengo es lo siguiente pero ya aviso de que no funciona:
Código PHP:
ereg("([A-Za-z0-9\-])"$nombre
No me funciona por el simple hecho de que si pongo Pe%pe me lo cuenta como válido...

Alguien sabe que estoy haciendo mal. Si sabeis de algun manual que explique decentemente lo de las expresiones regulares decirmelo.

Gracias por vuestro tiempo
  #2 (permalink)  
Antiguo 19/08/2005, 07:18
 
Fecha de Ingreso: junio-2002
Mensajes: 243
Antigüedad: 15 años, 5 meses
Puntos: 1
Bueno de momento te pongo lo único q se me ha ocurrido...

Código PHP:
<?
$nombre 
"aGc3--";

$cont 0;

for(
$i=0;$i<strlen($nombre);$i++)
{
    if(!
eregi("[a-z]|[0-9]|-|-"$nombre[$i])) $cont++;
}

if(
$cont 0) echo "mal";
else echo 
"bien";
?>
Salu2.
  #3 (permalink)  
Antiguo 19/08/2005, 11:09
 
Fecha de Ingreso: julio-2005
Mensajes: 13
Antigüedad: 12 años, 5 meses
Puntos: 0
Hola,

A mi me funciono de esta manera:

Código PHP:
<?php
$nombre 
"pepe%pepe";
if ( 
ereg"(^[a-zA-Z]{1}[a-zA-Z0-9-]{2,29}$)"$nombre) ) {
    echo 
"formato valido: $nombre";
} else {
    echo 
"formato invalido: $nombre";
}
?>
espero haberte ayudado...

Saludos.
  #4 (permalink)  
Antiguo 19/08/2005, 11:18
 
Fecha de Ingreso: junio-2002
Mensajes: 243
Antigüedad: 15 años, 5 meses
Puntos: 1
Pues la verdad que está mejor lo q te dice zatara04...

aun no dominio mucho las expresiones regulares...

pero la verdad es q son muy potentes..

Salu2.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:35.