Aquí está la validación de ruta de Windows, funciona bien para todas las reglas de ruta de Windows.
var contPathWin = document.editConf.containerPathWin.value;
if(contPathWin=="" || !windowsPathValidation(contPathWin))
{
alert("please enter valid path");
return false;
}
function windowsPathValidation(contwinpath)
{
if((contwinpath.charAt(0) != "\\" || contwinpath.charAt(1) != "\\") || (contwinpath.charAt(0) != "/" || contwinpath.charAt(1) != "/"))
{
if(!contwinpath.charAt(0).match(/^[a-zA-Z]/))
{
return false;
}
if(!contwinpath.charAt(1).match(/^[:]/) || !contwinpath.charAt(2).match(/^[\/\\]/))
{
return false;
}
}
y esto es para la validación de la ruta de linux.
var contPathLinux = document.addSvmEncryption.containerPathLinux.value;
if(contPathLinux=="" || !linuxPathValidation(contPathLinux))
{
alert("please enter valid path");
return false;
}
function linuxPathValidation(contPathLinux)
{
for(var k=0;k<contPathLinux.length;k++){
if(contPathLinux.charAt(k).match(/^[\\]$/)){
return false;
}
}
if(contPathLinux.charAt(0) != "/")
{
return false;
}
if(contPathLinux.charAt(0) == "/" && contPathLinux.charAt(1) == "/")
{
return false;
}
return true;
}
Intenta hacerlo en una sola condición.
Qué haría usted hacer con una ruta de archivo en JS? Normalmente, JS no tiene acceso al sistema de archivos del disco local. Enviar la ruta del archivo al lado del servidor tampoco tendría mucho sentido ya que el servidor no tiene acceso al sistema de archivos del disco local del cliente.Después de todo, creo que solo necesitas 'input type =" file "' y no te preocupes por la validación. – BalusC
BalusC, entiendo esto. La aplicación que estoy creando se ocupa de un servidor de base de datos que tiene filepaths como uno de sus campos. Para que se pueda editar, me gustaría tener alguna validación. A pesar de que el usuario podría poner en una ruta no válida, al menos esto ayudará a asegurarse de que el usuario ingrese una ruta. Además, esta es una ruta del lado del servidor, por lo que input type = "file" no funcionará. Gracias. – postalservice14