Foros del Web » Programando para Internet » PHP »

Sobre cadenas

Estas en el tema de Sobre cadenas en el foro de PHP en Foros del Web. Quiero que solamente se puedan insertar caracteres de la "a" a la "Z", números y "_" . Esta es la función que he pensado pero ...
  #1 (permalink)  
Antiguo 12/10/2003, 18:17
 
Fecha de Ingreso: octubre-2003
Ubicación: Murcia
Mensajes: 33
Antigüedad: 14 años, 2 meses
Puntos: 0
Sobre cadenas

Quiero que solamente se puedan insertar caracteres de la "a" a la "Z", números y "_" . Esta es la función que he pensado pero no se cumple siempre ¿alguien sabe cual es mi fallo?


function nick($login)
{
if(!ereg("[0-9A-Za-z_]",$login))
{
return FALSE;
}
else
{
return TRUE;
}
}

Gracias
__________________
WwW.eltrokolo.CoM

- EoF
  #2 (permalink)  
Antiguo 12/10/2003, 19:11
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 8 meses
Puntos: 1
prueba ha hacerlo asi:


Código PHP:
function nick($login)
{
      if(!
eregi("^[[:alnum:]_\-]{2,15}$"$login))  return FALSE;
         else
            return 
TRUE;
}
//{2,15} cantidad de caracteres permitidos de 2 a 15 
espero que te isrva
  #3 (permalink)  
Antiguo 12/10/2003, 19:12
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 8 meses
Puntos: 1
antes del gion va una barra al reves "\" que no se por que no ha salido
  #4 (permalink)  
Antiguo 12/10/2003, 20:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
usando eregi()

Código PHP:
if (!eregi("^[0-9a-z_]*$",$variable)){
   echo 
"Sintax no correcta .. caracteres no validos";

eregi() no distingue entre mayusculas y minusculas así que podemos evitarnos en la expresión regular el bloque/grupo "A-Z" .. Los ^ indican "comienzo cadena" ..y el $ final cadena .. y el [] secuencia ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 13/10/2003, 08:40
 
Fecha de Ingreso: octubre-2003
Ubicación: Murcia
Mensajes: 33
Antigüedad: 14 años, 2 meses
Puntos: 0
Muchas gracias a los 2, probaré ambas a ver cual me convences más, creo ke ya tengo un poco más claro el tema este
__________________
WwW.eltrokolo.CoM

- EoF
  #6 (permalink)  
Antiguo 13/10/2003, 14:33
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 8 meses
Puntos: 1
bueno las dos son similares , fijate que yo utilizo eregi [[:alnum:] que en cristiano seria , todos los caracteres alfanumericos , es sinomino a [0-9a-z_] ; lo importante de la expresion es los metacaracteres "^" Y "$" ; que quiere decir estando situados fuera de los corchetes ; es necesario que los caracteres alafanumericos esten en toda la cadena de la cadena y ;

En la expresion que puse dejo pasar a mas del _ el guion - y se necesitan de 2 a 15 caracteres , es para evitar que puedan poner muchos caracteres o solo uno ; pero ya te digo en el fondo las dos expresiones son similares

un saludo
  #7 (permalink)  
Antiguo 13/10/2003, 15:04
 
Fecha de Ingreso: octubre-2003
Ubicación: Murcia
Mensajes: 33
Antigüedad: 14 años, 2 meses
Puntos: 0
Si Jordi, al final he elegido la tuya por el tema de la limitación de caracteres. Eso no quiere decir que el comentario de Cluster no me sirviera ya que me ha explicado como utilizar los metacaracteres.

Gracias a ambos
__________________
WwW.eltrokolo.CoM

- EoF
  #8 (permalink)  
Antiguo 13/10/2003, 15:20
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 8 meses
Puntos: 1
no obstante puedes cambiar la secuencia "[[:alnum:]_\-] " por esta es lo mismo salvo que esta no deja pasar los guiones [0-9a-z_]

un saldudo
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 08:48.