Ayuda expresión regular

jdelsaz Seguir

Beta
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
10 Abr 2011
Mensajes
111
Buenas.

Necesito que me ayuden con una expresión regular. Estoy comparando que unos datos que me vienen por $_POST no contengan caracteres raros, o mejor dicho, sólo los que yo quiero.
Los caracteres que necesito son números y letras más los siguientes: ".,:;/-_" y espacios.

Sólo he conseguido que me funcione con números y letras, que ha sido con este patrón: $patrCad = '/[a-zA-Z0-9]/';

He probado con lo siguiente para el patrón que necesito y no funciona: $patrCad = '/[a-zA-Z0-9.,:;-_]/'; (sin contar / ni espacios porque no sé como ponerlo).

Tengo la siguiente condición para que me de fallo:
if(!preg_match($patrCad, $_POST['prueba']))

Por favor necesito ayuda! Si está algo mal explicado decirme porfavor. Saludos y gracias.
 

aBsTrAcTo

Zeta
Programador
Verificado por Whatsapp
Desde
28 Dic 2009
Mensajes
1.950
el punto, los dos puntos y el guion son se deben escapar, pon una barra invertida antes de cada uno:

$patrCad = '/[a-zA-Z0-9\.,\:;\-_]/';

saludos
 

jdelsaz

Beta
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
10 Abr 2011
Mensajes
111
el punto, los dos puntos y el guion son se deben escapar, pon una barra invertida antes de cada uno:

$patrCad = '/[a-zA-Z0-9\.,\:;\-_]/';

saludos

Funciona perfectamente.

Necesitaría también para espacios opcionales, es decir, que si los pone esté bien, pero si no los pone también.

Se que en javascript es /\S/ o /\s/ pero en php no se como es y no he encontrado nada por google, sabrías como es?

Muchas gracias.
 
Arriba