Deberías de tomar solo el nombre del archivo, pues, de esa forma, tomas el nombre y ruta.
Código Javascript
:
Ver originalfunction validar_nombre_de_archivo(inputFile){
var valor = inputFile.value,
archivo = valor.substr(valor.lastIndexOf("\\") + 1);
if (/[a-z\d\-_\.]+\.pdf/gi.test(archivo))
console.log("Bien");
else
console.log("Mal");
}
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