Foros del Web » Programando para Internet » PHP »

ayuda con sencilla expresion regular

Estas en el tema de ayuda con sencilla expresion regular en el foro de PHP en Foros del Web. hola tengo un campo que debe guardar nombre, puede caer dentro de opciones como las siguientes: ROSA ROSA MARIA entonces puede o no contener espacios, ...
  #1 (permalink)  
Antiguo 23/04/2009, 10:42
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
Pregunta ayuda con sencilla expresion regular

hola tengo un campo que debe guardar nombre, puede caer dentro de opciones como las siguientes:

ROSA

ROSA MARIA

entonces puede o no contener espacios, puse los siquiente para validarla

Código PHP:
if (!ereg("^[A-Z]{3,20}$\s+"trim($nomnuevo))) { 
header ("Location: $pag?accion=nivel&id_ven=$id_ven&error=5"); 
exit; 

funciona sin la \s pero no me deja poner espacios, asi que puse la parte de /s, ya he experimentado con las siguientes formas

Código PHP:
if (!ereg("^[A-Z]{3,20}$\s*"trim($nomnuevo))) { 
if (!
ereg("^[A-Z]{3,20}$\s"trim($nomnuevo))) { 
if (!
ereg("^[A-Z]\s{3,20}$"trim($nomnuevo))) { 
if (!
ereg("^[A-Z]{3,20}\s$"trim($nomnuevo))) { 
if (!
ereg("^[A-Z\s]{3,20}$"trim($nomnuevo))) { 
pero con ninguna me acepta espacios, alguien tendra la sintaxis correcta??
__________________
:cool: VELMA:si:
  #2 (permalink)  
Antiguo 23/04/2009, 10:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda con sencilla expresion regular

Usa preg_match(), la otra librería está obsoleta.

La expresión correcta sería: /^[A-Z\s]{3,20}$/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 23/04/2009, 10:54
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: ayuda con sencilla expresion regular

prueba con la siguiente expresion:
Código PHP:
"(?:[A-Z]\s*){3,20}" 
__________________
I see dead pixels
  #4 (permalink)  
Antiguo 23/04/2009, 17:58
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: ayuda con sencilla expresion regular

Gracias por responder pero no ha funcionado ningunas de las 2
__________________
:cool: VELMA:si:
  #5 (permalink)  
Antiguo 23/04/2009, 20:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda con sencilla expresion regular

Yo lo probé de la forma como comenté (usando preg_match) y funcionó sin problemas.

¿Cómo lo intentaste?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 28/04/2009, 16:32
Avatar de velma  
Fecha de Ingreso: marzo-2006
Mensajes: 94
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: ayuda con sencilla expresion regular

ya funciono, en lugar de poner /s solo deje el espacio.. Gracias
__________________
:cool: VELMA:si:
  #7 (permalink)  
Antiguo 28/04/2009, 16:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ayuda con sencilla expresion regular

Aporte: Expresiones PCRE
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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:45.