Foros del Web » Programando para Internet » PHP »

expresiones regulares

Estas en el tema de expresiones regulares en el foro de PHP en Foros del Web. Hola a todos estoy renegando un poco con expresiones regulares.. a ver si me pueden dar una mano estoy haciendo una funcion para validar nombres ...
  #1 (permalink)  
Antiguo 06/07/2006, 16:33
 
Fecha de Ingreso: noviembre-2004
Ubicación: Montréal - Santa Fe
Mensajes: 140
Antigüedad: 13 años, 1 mes
Puntos: 2
expresiones regulares

Hola a todos
estoy renegando un poco con expresiones regulares.. a ver si me pueden dar una mano
estoy haciendo una funcion para validar nombres de usuario he hize esto

if (!ereg("^[a-zA-Z0-9][_\-][^\\\$&^*()=+%#@!,./?'|`~\"\;\:\[\}\ {]{6,20}$", $valor)) {
$resultado['$mensaje']= "Caractéres inválido<br>";
$resultado['$respuesta'] = "verdadero";
}

el tema es que no respeta las reglas
la idea seria esta
minimo 6 letras (eso lo hace)
que solo permita caractres de a-z A-z y 0-9.
que permita "-" o "_" pero solo antes o despues de cualquier letra que no sea ni la primera ni la ultima y claro.
y por supuesto que no se permita ningun caracteres invalido

hay sino alguna otra forma mas facil de hacerlo??

gracias salds
  #2 (permalink)  
Antiguo 06/07/2006, 17:23
 
Fecha de Ingreso: julio-2006
Mensajes: 45
Antigüedad: 11 años, 5 meses
Puntos: 0
<?

echo preg_match("/^[^_|-][a-zA-Z0-9]{6,}[^_|-]$/", $valor);

?>
  #3 (permalink)  
Antiguo 06/07/2006, 17:38
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 13 años
Puntos: 7
Cita:
Iniciado por cruzz
el tema es que no respeta las reglas
Será porque no tienes la expresión regular correcta para lo que quieres validar?

Prueba con lo siguiente:
Código PHP:
if (!eregi('^[a-z\d][\w-]{4,18}[a-z\d]$'$usuario)) {
    ....

Saludos
PS. No está probado.
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #4 (permalink)  
Antiguo 07/07/2006, 09:49
 
Fecha de Ingreso: noviembre-2004
Ubicación: Montréal - Santa Fe
Mensajes: 140
Antigüedad: 13 años, 1 mes
Puntos: 2
sigue

probe los consejos de Uds... pero sigue sin funcionar...
es mas no andan cosas que antes si

algun experto en expresiones regulares pleaseeeeeeeeeeeee :P
  #5 (permalink)  
Antiguo 07/07/2006, 10:43
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 13 años, 5 meses
Puntos: 4
Código PHP:
if (!preg_match('#^[a-z0-9]{1}[\w-]{4,}[a-z0-9]{1}$#i'$usuario)) {
    ....

__________________
Internet Explorer SuckS
Download FireFox
  #6 (permalink)  
Antiguo 07/07/2006, 12:12
 
Fecha de Ingreso: julio-2006
Mensajes: 45
Antigüedad: 11 años, 5 meses
Puntos: 0
pues no puedes dar algo i de ti ?

echo preg_match("/^[^_|-][a-zA-Z0-9_- ]{6,}[^_|-]$/i", $valor);

Última edición por exist; 07/07/2006 a las 12:17
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:37.