Ayuda expresión regular

  • Autor Autor jdelsaz
  • Fecha de inicio Fecha de inicio
J

jdelsaz

Beta
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
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.
 
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
 
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.
 
\s es el que funciona para los espacios.
 
Atrás
Arriba