Tengo una expresión regular para validar los nombres de los archivos. Aquí es:Javascript regex para validar nombres de archivo
/[0-9a-zA-Z\^\&\'\@\{\}\[\]\,\$\=\!\-\#\(\)\.\%\+\~\_ ]+$/
Debe permitir nombres de archivo como este:
aaa
aaa.ext
a#
A9#.ext
Los siguientes caracteres no están permitidos \/: * ? \" < > |
El problema es que los nombres de archivo como *.txt
o /\kk
pasa la validación . Estoy haciendo la validación con el evento de teclado. Entonces cuando pongo un personaje extra después de no permitir uno, muestra que todo está correcto.
Escape/con \ en rg1. Al menos, VS 2010 piensa que sí. – noober
^(?! \.) (?! com [0-9] $) (?! con $) (?! lpt [0-9] $) (?! nul $) (?! prn $) [^ \ | \ * \? \\: <>/$ "] * [^ \. \ | \ * \? \\: <>/$"] + $ –
Gracias @RyanWilliams por sus comentarios. Pero sé cómo crear un archivo en Windows con un nombre de archivo largo que contenga un punto al final del nombre del archivo y sin extensión :) –