Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/11/2014, 23:59
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 6 meses
Puntos: 977
Respuesta: Expresión regular para nombre de archivo

Deberías de tomar solo el nombre del archivo, pues, de esa forma, tomas el nombre y ruta.

Código Javascript:
Ver original
  1. function validar_nombre_de_archivo(inputFile){
  2.     var valor = inputFile.value,
  3.         archivo = valor.substr(valor.lastIndexOf("\\") + 1);
  4.     if (/[a-z\d\-_\.]+\.pdf/gi.test(archivo))
  5.         console.log("Bien");
  6.     else
  7.         console.log("Mal");
  8. }

Con el método lastIndexOf, obtenemos la porción de la cadena a partir del último contra-slash —al cual escapo para que este no escape a las comillas que le siguen— y avanzo una posición hacia la derecha, tomando así solo al nombre del archivo y su extensión. Luego, si el nombre contiene letras, números, guiones, guiones bajos y/o puntos, además de tener extensión '.pdf', será válido, caso contrario, no lo será.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand