que tiene una expresión regular:de colon dentro de una expresión regular para Javascript
/^([a-zA-Z0-9_ -.''""]+)$/
Funciona perfectamente bien permitiendo alfabetos, números y algunos caracteres especiales como -
, .
, '
y "
.
No, quiero que también permita dos puntos (:
). Probé la siguiente expresión regular pero falla, comienza a permitir muchos otros caracteres especiales.
/^([a-zA-Z0-9_ :-.''""]+)$/
¿Alguna idea de por qué?
Una alternativa más legible podría ser mover el '-' al principio o al final de la clase de caracteres (lo que también hace que pierda su significado especial). –
@cebewee - bueno, eso depende. Me gusta escapar de todos modos, para asegurarme de que su significado sea claro y para evitar errores. Otro desarrollador puede cambiar '[a-z _-]' a '[a-z_- ~]', y entonces tenemos un problema. – Kobi
+1, escaparse es siempre más seguro. – codaddict