Ayuda expresión regular

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

jdelsaz

Beta
Programador
No recomendado
¡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.
 
Atrás
Arriba