Foros del Web » Programando para Internet » PHP »

validar cadena con exprecion regular

Estas en el tema de validar cadena con exprecion regular en el foro de PHP en Foros del Web. hola comunidad necesito validar una cadena con una expresion regular pero no se aplicar algunas cosas de las expresiones regulares, la cadena tiene esta forma: ...
  #1 (permalink)  
Antiguo 20/03/2012, 00:16
 
Fecha de Ingreso: marzo-2009
Mensajes: 155
Antigüedad: 15 años, 1 mes
Puntos: 1
validar cadena con exprecion regular

hola comunidad necesito validar una cadena con una expresion regular pero no se aplicar algunas cosas de las expresiones regulares, la cadena tiene esta forma:

aaa:bbb:ccc

necesito validar que la cadena sea de esta forma una palabra que puede contener letras y numeros, seguido de dos puntos (:) despues otra palabra que quiero restringir si es posible que sean tres palabras en especifico (standar, confirm o param) segido de dos puntos (:) y por ultimo otra palabra que puede ser numeros y letras, agradeceria me ayudaran con alguna idea de como hacer esto

saludos manuelle
  #2 (permalink)  
Antiguo 20/03/2012, 02:21
Avatar de apaxito  
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 47
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: validar cadena con exprecion regular

Creo que sería bueno que miraras las siguientes funciones php:
- strripos
- strrpos
- strstr
- strncmp

Solo tendrás que jugar un poco con ellas para detectar el número de caracteres, de dos puntos, y con las referencias de inicio y fin, "cortar" los strings que te interesen.

Te puede interesar la página siguiente sobre strings de PHP: http://php.net/manual/en/ref.strings.php
__________________
Sígueme en el Blog que llevo con otros dos compañeros sobre PHP, HTML5, JavaScript, JQuery y noticias tecnológicas... http://www.inix.es/docevoltios
  #3 (permalink)  
Antiguo 20/03/2012, 03:48
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Respuesta: validar cadena con exprecion regular

A ver, te la acabo de hacer aquí sin probarla ni nada, así que pruebala y si falla lo haces saber.

Código PHP:
Ver original
  1. $str = 'aaa:confirm:ccc';
  2. $patron = /^[0-9a-zA-Z]+:{1}(standar|confirm|param){1}:{1}[0-9a-zA-Z]+$/;
  3.  
  4. if(preg_match_all($patron, $str, $matches)
  5. {
  6. echo 'Correcto';
  7. print_r($matches);
  8. } else {
  9. echo 'Incorrecto';
  10. }

Saludos,
  #4 (permalink)  
Antiguo 20/03/2012, 06:36
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: validar cadena con exprecion regular

la expresión ha de ir entrecomillada. los cuantificadores no son necesarios
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 20/03/2012, 07:00
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 5 meses
Puntos: 74
Respuesta: validar cadena con exprecion regular

Cita:
Iniciado por IsaBelM Ver Mensaje
la expresión ha de ir entrecomillada. los cuantificadores no son necesarios
Ya, lo de las comillas es evidente y fue un error garrafal que cometí al hacerlo tan rápido
Los cuantificadores siempre tenia la costumbre de ponerlos pero ya veo que...

Y otro fallo que me acabo de dar cuenta y también garrafal debido a la rapidez era que me comí un paréntesis

Aquí esta arreglada, a ver si te sirve manuelle.
Código PHP:
Ver original
  1. $str = 'aaa:confirm:ccc';
  2. $patron = "/^[0-9a-zA-Z]+:(standar|confirm|param):[0-9a-zA-Z]+$/";
  3.  
  4. if(preg_match_all($patron, $str, $matches))
  5. {
  6. echo 'Correcto';
  7. print_r($matches[0]);
  8. }else{
  9. echo 'Incorrecto';
  10. }

Saludos,

Etiquetas: regular, cadenas
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 21:02.