Foros del Web » Programando para Internet » PHP »

Expresión regular.

Estas en el tema de Expresión regular. en el foro de PHP en Foros del Web. He dado con lo siguiente para hacer control de las diferentes entradas de los usuarios. Expresion regulares, y para ello he intentado indicar simplemente que ...
  #1 (permalink)  
Antiguo 09/05/2009, 19:09
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Pregunta Expresión regular.

He dado con lo siguiente para hacer control de las diferentes entradas de los usuarios.

Expresion regulares, y para ello he intentado indicar simplemente que el usuario sólo pueda ingresar letras de a-z,A-Z, espacio y vocales acentuadas.

Pero he estado algo confundido:

Código PHP:
public function nombres($arg){

$patron='/^[[:alpha:]]+$/';
if(
preg_match($patron,$arg)){
$this->nombre=$arg;
}else{echo 
$arg.', no es un nombre válido, sólo se permiten carácteres a-z y A-Z, y letras acentuadas.';}

Indico paso por paso, / es estructura basica para indicar el patron, el ^ indica el inicio de la busqueda del patron, [[:alpha:]] indica cualquier letra (incluidas vocales acentuadas, ñ, ç, etc), el signo + (no tengo idea realmente del uso de el), y el signo $ indica el final del patron, en conclusión le estare diciendo que busque en toda la "palabra" dicho patron.

Problemas.

¿Para que el uso del signo +?.
He ingresado igualmente una caracter de la forma é,í,...,etc y este me muestra la condicion contraria.
¿Cómo añadiria el espacio a dicho patron?.

Pueden ser preguntas algo obvias, pero no he encontrado información sobre esta misma, lo que he encontrado es lo siguiente y se basa en compatibilidad con perl.

Expresiones regulares.

¡Saludos y gracias!.
  #2 (permalink)  
Antiguo 09/05/2009, 19:16
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Expresión regular.

http://www.forosdelweb.com/f18/aport...s-pcre-646110/

Cita:
\s Espacio (espacio, tabulador, CRLF)
Cita:
n+ Uno o mas de n
  #3 (permalink)  
Antiguo 11/05/2009, 22:15
 
Fecha de Ingreso: noviembre-2008
Mensajes: 8
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Expresión regular.

Buenas!
Estoy trabajando con expresiones para validar unos campos en especifico.

Quisiera pedirles un grande favor, necesito validar que un campo contenga solo letras, numeros y los caracteres +*-

Y otro con solo letras, numero y los caracteres #-

Espero me ayuden, gracias...
  #4 (permalink)  
Antiguo 11/05/2009, 22:22
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: Expresión regular.

Aún no se me da muy bien pero revisa con el siguiente patron:

$patron='/^[a-zA-Z0-9\+\*\-]+$/'; //primer caso
  #5 (permalink)  
Antiguo 12/05/2009, 00:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Expresión regular.

NOTA que de hecho, las expresiones regulares compatibles con PERL (eso significa PCRE) son absolutamente mejores que usar la extensión EREG

es recomendable usar la extensión PCRE para las funciones del mismo efecto, además de tener soporte para UTF-8

incluso EREG va a ser completamente retirada del core de PHP6

el enlace que citas es perfecto, ya que esta hablando de PCRE en el lenguaje PHP; pienso que te pudiste confundir...


PDTA: el patrón está perfecto :P

suerte!
__________________
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 11:05.