Título: regex para filtrar caracteres especiales en jquery Publicado por: gAb1 en 16 Abril 2016, 01:39 am Quiero crear un regex que me permita filtrar caracteres no deseados (para evitar ataques xss, php y sql) en jquery. Para ello estoy probando dos plugins: filter_input (https://github.com/northern/Input-Filter-JS) y keyfilter (https://github.com/akzhan/jquery-keyfilter) pero ambos me dan error al usar el regex que necesito.
Los caracteres a permitir serian alphanumericos (a-zA-z0-9), espacios (a ser posible solo 1 entre caracteres) y los siguientes: ". : , - + ¿? ¡! ' ñ ç" y vocales con acentos y dieresis (pero no por separado). He encontrado varios regex pero en cuanto intento añadir algún caracter de los arriba mencionados me da un error y no lo toma, ocurre con ambos plugins... La idea es permitir elegir que caracteres especiales usar para cada input y luego usarlo en php con preg_replace por si se manipula el javascript. ¿Alguna idea de por qué esos dos plugins no aceptan regex con esos carácteres? Tampoco es que tenga mucha idea de regex, a lo mejor lo estoy haciendo mal, pero otros los he sacado de respuestas que están funcionando, no sé... Gracias! Título: Re: regex para filtrar caracteres especiales en jquery Publicado por: _Enko en 20 Abril 2016, 00:21 am Hola, veo un inconveniente con validacion de caracteres en javascript.
Si bien el usuario normal no podrá ingresar esos caracteres, van a estar bloqueados, pero que pasa si alguien simplemente inspecciona tu formulario y elimina la parte de js que no le gusta? Ese tipo de validación debería estar hecho del lado del servidor tambien. Esta pagina tiene una lista de regex mas comunes: http://www.regexlib.com/ Saludos. Título: Re: regex para filtrar caracteres especiales en jquery Publicado por: gAb1 en 20 Abril 2016, 16:28 pm Si, por supuesto, olvidé mencionarlo. También tengo los mismos regex validando que el string coincida en php.
Esto es simplemente para que el usuario sepa que dichos carácteres no están permitidos y que si hackea su lado de cliente, al enviar el formulario dará error y tendrá que empezar de nuevo. Ya que es un formulario bastante extenso, que no se diga que no he avisado ;D Sobre el plugin, no tiene porque bloquear, también puede mostrar un mensaje de error diciendo que nose permiten dichos carácteres y que no deje enviar. Edito: Creo que mejor voy a utilizar el atributo pattern de html5 y con jquery mostrar un error en caso de no validar. |