Foros del Web » Programando para Internet » PHP »

[APORTE] Validaciones Regulares

Estas en el tema de [APORTE] Validaciones Regulares en el foro de PHP en Foros del Web. buenas buenas... validaciones regulares? a veces se convienten en un caos, pues un aporte : Con la ayuda del amigo abimaelrc ( http://www.forosdelweb.com/miembros/abimaelrc/ ), algunos ...
  #1 (permalink)  
Antiguo 10/08/2009, 21:45
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 14 años, 9 meses
Puntos: 4
Información [APORTE] Validaciones Regulares

buenas buenas... validaciones regulares? a veces se convienten en un caos, pues un aporte :

Con la ayuda del amigo abimaelrc (http://www.forosdelweb.com/miembros/abimaelrc/), algunos aportes (http://www.forosdelweb.com/f18/aport...s-pcre-646110/) y otras investigaciones...... concluyo:


Código PHP:
[0-9// Coincide con una cadena que contenga cualquier
// número entre el 0 y el 9

[^0-9// Coincide con una cadena que NO contenga ningun
// número

[A-Z// Coincide con cualquier carácter alfabetico,
// en mayúsculas. No incluye numeros.

[a-z// Como el anterior, en minúsculas

[a-Z// Cualquier carácter alfabético, mayusculas o minusculas


Una cuestión a recordar es que las reglas de sintaxis de las expresiones regulares no se aplican igual dentro de los corchetes. Por ejemplo, el metacarácter ^ no sirve aqui de ancla, sino de caracter negador. Tampoco es necesario escapar todos los metacaracteres con la barra invertida. Solo será necesario escapar los siguientes metacaracteres: ] \ ^ -

El resto de metacaracteres pueden incluirse ya que son considerados -dentro de los corchetescaracteres normales.

Como estos patrones se usan una y otra vezhay atajos:

// atajo equivale a significado

[0-9// numeros de 0 a 9
[^0-9// el contrario de \d

[0-9A-Za-z// cualquier numero o letra
[^0-9A-Za-z// contrario de \w, un carácter que no

// sea letra ni numero

tnr// espacio en blanco: incluye espacio,
// tabulador, nueva linea o retorno

[^ tnr// contrario de \s, cualquier carácter
// que no sea espacio en blanco

[[:alpha:]] // cualquier carácter alfabético aA - zZ.
[[:digit:]] // Cualquier número (entero) 0 - 9
[[:alnum:]] // Cualquier carácter alfanumérico aA zZ 0 9
[[:space:]] // espacio 

aun yo tampoco domino muy bien esto conceptos, mas sin embargo lo siguiente:

validación de un numero de cédula:

Código PHP:
!is_numeric($cedula// ejemplo 15444333 
de un nombre:

Código PHP:
!preg_match('/^([[:alpha:]]+\s?)+$/',$nombre//sin guiones José  Nuñez

!preg_match('/^([A-Za-záéíóúñ\-]+\s?)+$/',$nombre//con guiones José - Nuñez 
para las longitudes

Código PHP:
!(strlen($variable)>3//en este caso $variable debe tener minimo 4 caracteres 
para las fastidiosas pero muy valiosas estructuras de correos:

Código PHP:
!preg_match(
        
'/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2,6}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/i'//ejemplo  [email protected] 

para los nombre con numero

Código PHP:
!preg_match('/^[[:alpha:]]([[:alnum:]]+\s?)+$/'//sin guiones rj 45
!preg_match('/^[a-zA-Záéíóú]([a-zA-Z0-9áéíóú\-]+\s?)+$/'//con guiones rj - 45 


bueno hasta los momentos creo que esto es todo, eso es lo que tengo, bastante que costo, pero con las ayudas ya mencionadas se logro, gracias y espero les sirva en algun momento, que de seguro se que sera así, a mi me ha servido demasido

Última edición por ricardoernes; 11/08/2009 a las 12:19
  #2 (permalink)  
Antiguo 10/08/2009, 21:56
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: [APORTE] Validaciones Regulares

Muy bueno, gracias por compartir...
  #3 (permalink)  
Antiguo 10/08/2009, 22:03
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: [APORTE] Validaciones Regulares

muchas gracias
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #4 (permalink)  
Antiguo 11/08/2009, 00:01
Avatar de TheoriaX  
Fecha de Ingreso: agosto-2009
Ubicación: Hermosillo, Sonora
Mensajes: 217
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: [APORTE] Validaciones Regulares

gracias..eso sirve de mucho
  #5 (permalink)  
Antiguo 11/08/2009, 09:11
 
Fecha de Ingreso: julio-2009
Ubicación: .mysql_error ( XD )
Mensajes: 554
Antigüedad: 14 años, 9 meses
Puntos: 13
Respuesta: [APORTE] Validaciones Regulares

Cita:
Iniciado por ricardoernes Ver Mensaje
de un nombre:

Código PHP:
!preg_match('/^([[:alpha:]]+\s?)+$/',$nombre//sin guiones José  Nuñez

!preg_match('/^([[:alpha:]]+\s?)+$/',$nombre//con guiones José - Nuñez 
son iguales?? :omg

gracias por el aporte!!
  #6 (permalink)  
Antiguo 11/08/2009, 12:17
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 14 años, 9 meses
Puntos: 4
De acuerdo Respuesta: [APORTE] Validaciones Regulares

Cita:
Iniciado por Twonex Ver Mensaje
son iguales?? :omg

gracias por el aporte!!
ups.. disculpe

con guiones es asi

Código PHP:
'/^([A-Za-záéíóúñ\-]+\s?)+$/' 
de nada por el aporte, de verdad es muy valioso, nos ahorra muchisimo tiempo !!!

Última edición por ricardoernes; 26/03/2010 a las 07:07
  #7 (permalink)  
Antiguo 11/08/2009, 12:21
 
Fecha de Ingreso: agosto-2009
Ubicación: Lanzarote - Canarias
Mensajes: 57
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: [APORTE] Validaciones Regulares

yo dejo un sistema para validar.

ww.xrg.es
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 12:15.