online - validar expresiones regulares javascript
JSLint "inseguro ^" en expresión regular (3)
Considere usar /W
lugar de /^/w/
"!$7s-gd,&j5d-a#".replace(//W/g, '''');
Para su caso particular, esto no funcionaría porque quiere dejar caracteres de coma y guión, pero creo que vale la pena mencionarlo.
JSLint reporta Inseguro ''^'' para la siguiente línea. ¿Porqué es eso? ¿O simplemente se va a quejar cuando quiera anular una clase de personaje?
// remove all non alphanumeric, comma and dash characters
"!$7s-gd,&j5d-a#".replace(/[^/w,/-]/g, '''');
Solo hará esto si tiene la opción seleccionada en la parte inferior:
Disallow insecure . and [^...] in /RegExp/
De la documentación :
cierto si y [^ ...] no debe permitirse en los literales RegExp. Estos formularios no deben utilizarse al validar en aplicaciones seguras.
Entonces, responda a su pregunta, si inicia una expresión regular con ^
y está marcada, sí producirá el error cada vez. El problema es con los caracteres Unicode, está permitiendo casi cualquier cosa allí y existe la posibilidad de problemas de seguridad o problemas de omisión de validación. En lugar de rechazar algo (que se puede omitir), permita solo qué caracteres son válidos.
regexp: true
en sus opciones de pelusas, le permitirá
. and [^...] in /RegExp/
Puedes configurar las reglas que te gustaría usar aquí.