Foros del Web » Programando para Internet » PHP »

Expresiones regulares

Estas en el tema de Expresiones regulares en el foro de PHP en Foros del Web. Me hace falta realizar una validaciones del lado del servidor a traves de php, lo quiero hacer a traves de expresiones regulares, pero no me ...
  #1 (permalink)  
Antiguo 20/05/2013, 15:19
 
Fecha de Ingreso: marzo-2013
Mensajes: 11
Antigüedad: 11 años, 1 mes
Puntos: 0
Expresiones regulares

Me hace falta realizar una validaciones del lado del servidor a traves de php, lo quiero hacer a traves de expresiones regulares, pero no me funciona, me hacen faltalas siguientes expresiones regulares:
- una que me valide un input donde solo pueda entrar letras y espacios
- una donde pueda entrar 3 digitos, un guion intermedio (-) y 4 digitos mas
- una donde pueda entrar tres letras y 3 numeros

Saludos, gracias de antemano
  #2 (permalink)  
Antiguo 20/05/2013, 15:32
 
Fecha de Ingreso: junio-2011
Mensajes: 80
Antigüedad: 12 años, 10 meses
Puntos: 8
Respuesta: Expresiones regulares

http://www.php.net/manual/es/regexp....delimiters.php
  #3 (permalink)  
Antiguo 20/05/2013, 16:50
Avatar de bulter  
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 4 meses
Puntos: 20
Respuesta: Expresiones regulares

Soy un idiota por hacer lo ... pero el dia es bueno :)

Código PHP:
<?php
/**
 * @author bulter
 */
 
const REGEXP_VALIDATION_LETTERS 0x0001;
const 
REGEXP_VALIDATION_NUMBERS 0x0010;
const 
REGEXP_VALIDATION_LETTERS_NUMBERS 0x0100;

function 
RegExpPatternValidation($string$pattern REGEXP_VALIDATION_LETTERS)
{
    switch(
$pattern)
    {        
        case 
REGEXP_VALIDATION_LETTERS:
            return (
eregi("^[a-zA-Z ]+$"$string));
        break;

        case 
REGEXP_VALIDATION_NUMBERS:
            return (
eregi("^[0-9]{3}\-[0-9]{4}$"$string));
        break;

        case 
REGEXP_VALIDATION_LETTERS_NUMBERS:
            return (
eregi("^[a-zA-Z]{3}[0-9]{3}$"$string));
        break;

        default:
            return 
false;
    }
}


if(
RegExpPatternValidation("000-1111"REGEXP_VALIDATION_NUMBERS))
{
    echo 
"Ok";
}
else
{
    echo 
"Error";
}
?>
reciervide No te acostumbres y lee un poco :P que eso es facil :)

Saludos
  #4 (permalink)  
Antiguo 20/05/2013, 19:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Expresiones regulares

bulter, la extensión EREG está obsoleta.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 21/05/2013, 01:59
Avatar de bulter  
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 4 meses
Puntos: 20
Respuesta: Expresiones regulares

Mmm si mis disculpas :|

Código PHP:
<?php
/**
 * @author bulter
 */
 
const REGEXP_VALIDATION_LETTERS 0x0001;
const 
REGEXP_VALIDATION_NUMBERS 0x0010;
const 
REGEXP_VALIDATION_LETTERS_NUMBERS 0x0100;

function 
RegExpPatternValidation($string$pattern REGEXP_VALIDATION_LETTERS)
{
    switch(
$pattern)
    {        
        case 
REGEXP_VALIDATION_LETTERS:
            return (
preg_match("/^[a-zA-Z ]+$/"$string));
        break;

        case 
REGEXP_VALIDATION_NUMBERS:
            return (
preg_match("/^[0-9]{3}\-[0-9]{4}$/"$string));
        break;

        case 
REGEXP_VALIDATION_LETTERS_NUMBERS:
            return (
preg_match("/^[a-zA-Z]{3}[0-9]{3}$/"$string));
        break;

        default:
            return 
false;
    }
}


if(
RegExpPatternValidation("000-1111"REGEXP_VALIDATION_NUMBERS))
{
    echo 
"Ok";
}
else
{
    echo 
"Error";
}
?>
  #6 (permalink)  
Antiguo 21/05/2013, 07:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Expresiones regulares

Aún así está de más, ya que la extensión filter debería funcionar excelentemente.

De paso te comparto la regla de oro de las expresiones regulares: si alguna otra función o método hace lo mismo, no las uses.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: expresiones, regulares
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 22:29.