Foros del Web » Programando para Internet » PHP »

Expresión regular que no funciona...

Estas en el tema de Expresión regular que no funciona... en el foro de PHP en Foros del Web. ¡Hola! Tengo una expresión regular, pero no me funciona... /^([a-z0-9_]{4,20})+$/i Código PHP: if(! ereg ( "/^([a-z0-9_]{4,20})+$/i" , $usernameup )) {  Los requisitos que quiro obtener son: ...
  #1 (permalink)  
Antiguo 25/02/2010, 09:36
 
Fecha de Ingreso: enero-2010
Mensajes: 214
Antigüedad: 14 años, 2 meses
Puntos: 4
Expresión regular que no funciona...

¡Hola!

Tengo una expresión regular, pero no me funciona...

/^([a-z0-9_]{4,20})+$/i

Código PHP:
if(!ereg("/^([a-z0-9_]{4,20})+$/i",$usernameup)) { 
Los requisitos que quiro obtener son:

>Letras (Sin tildes y sin carácteres raros, como ñ)

>Números

>Guiones bajos

>Que no se permita nada que no sean letras sin tildes ni números... Es decir, que no se permitan puntos, espacios, (^,*,Ç,¿,?,!,",'...etc....)

¿Cómo hago para que funcione?

Un saludo
  #2 (permalink)  
Antiguo 25/02/2010, 09:39
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Expresión regular que no funciona...

Código PHP:
Ver original
  1. if(!ereg("/^([a-z0-9_]{4,20})+$/i",$usernameup)) {

1.- ereg no usa PCRE... estas un tanto perdido en eso, cambialo a preg_match
2.- usas {4,20} y luego le das un signo +.. con eso pierdes el limite de 4 a 20 .. quitale el signo +

con eso deveria funcionar

Código PHP:
Ver original
  1. if(!preg_match("/^([a-z0-9_]{4,20})$/i",$usernameup)) {
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 25/02/2010, 09:52
 
Fecha de Ingreso: enero-2010
Mensajes: 214
Antigüedad: 14 años, 2 meses
Puntos: 4
Respuesta: Expresión regular que no funciona...

Va muy bien, muchas gracias por tu explicación :)... + Karma.

Había confundido y creía que las expresiones de Js son válidas para PHP, habrá que coger un buen manual entonces...


Un saludo!

Etiquetas: regular
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 16:02.