Foros del Web » Programando para Internet » Javascript »

validar la ruta de un archivo

Estas en el tema de validar la ruta de un archivo en el foro de Javascript en Foros del Web. Hola amigos del foro, quiciera validar que al momento que el usuario ingresa la ruta donde se grabaran los archivos sea una ruta correcta. por ...
  #1 (permalink)  
Antiguo 16/04/2007, 11:22
 
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 1
Pregunta validar la ruta de un archivo

Hola amigos del foro, quiciera validar que al momento que el usuario ingresa la ruta donde se grabaran los archivos sea una ruta correcta.

por ejemplo:
x_unidad:\MisArchivos\Recibidos
D:\MisArchivos\Recibidos..Actuales
D:\MisArchivos\Recibidos Actuales
c:\MisArchivos\Recibidos_Actual
Discolocal:\MisArchivos\Recibidos

Debe mostrarme un mensaje indicando que la ruta ingresada no es valida en caso que no cumpla con lo antes mensionado.

muchas gracias
  #2 (permalink)  
Antiguo 16/04/2007, 14:51
Avatar de Mosiah  
Fecha de Ingreso: mayo-2002
Ubicación: Vitoria - Madrid
Mensajes: 229
Antigüedad: 22 años
Puntos: 0
Re: validar la ruta de un archivo

Hola, quiza sería más fácil sacar una pantalla pop-up de guardado.
En PHP se puede hacer (JSP y ASP seguro que también), pero en javascript, la verdad, no lo se.

Investiga un poco o a ver si alguno del foro que sepa se anima a responderte.

Saludos ;)
  #3 (permalink)  
Antiguo 16/04/2007, 15:21
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: validar la ruta de un archivo

Se podría hacer con expresiones regulares una especie de validación para no dejar pasar cosas extrañas...

Pero deberías informarte de cómo son las rutas en otros sistemas operativos tales como LINUX o MAC, cambian un poco, y si sólo dejas pasar ese formato de ruta significaría que sólo usuarios de windows pueden colocar archivos en tu caja.

Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #4 (permalink)  
Antiguo 16/04/2007, 18:09
 
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años
Puntos: 1
Re: validar la ruta de un archivo

hola amigos.
tengo un problema quiciera validar una caja de texto que al momento que el usuario ingresa la ruta del archivo donde desea grabar un LOG sea una ruta valida. La ruta debe concidir los mismos criterio que se puede asignar el nombre de un directorio en Windows.

por ejemplo:

c:\misArchivos\actuales
c:\misArchivos-2007\actuales.hoy
localC\misArchivos 2007\actuales.hoy

Lo estoy haciendo de la sgte. manera y no cumplo con las espectativas.

if (/^\w+([\\]?\w+)+$/.test(strRuta)){ alert("ruta valida")
return true;
}
  #5 (permalink)  
Antiguo 17/04/2007, 05:44
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: validar la ruta de un archivo

Esta expresión me ha dado buenos resultados en estas pruebas, espero que no tenga muchos defectos:
Código:
var strRuta=[ "H:\\MisArchivos\\Recibidos",
	"D:\\MisArchivos\\Recibidos..Actuales",
	"D:\\MisArchivos\\Recibidos Actuales",
	"c:\\MisArchivos\\Recibidos_Actual",
	"Discolocal:\\MisArchivos\\Recibidos",
	"c:\\misArchivos\\actuales",
	"c:\\misArchivos-2007\\actuales.hoy",
	"localC:\\misArchivos 2007\\actuales.hoy" ];
var strNormales= [ "hola",
	"hola:\\",
	"u:\\archivo_con_ñ",
	"F:\\directorio-especial\\archivo?no¡valido",
	"C:\\",
	"algo malo:\\archivo.txt",
	"algobueno:\\carpeta-cualquiera\\archivo&invalido"
];
var re=/^[a-z]+:\\([a-z0-9\._\- ]+\\)?([a-z0-9\._\- ]+)$/i;

for(var i in strRuta) {
	document.write(strRuta[i]+" --> "+re.test(strRuta[i])+"<br/>");
}
document.write("<br/><br>");
for(var i in strNormales) {
	document.write(strNormales[i]+" --> "+re.test(strNormales[i])+"<br/>");
}
Código:
/^[a-z]+:\\([a-z0-9\._\- ]+\\)?([a-z0-9\._\- ]+)$/i
-Busco lo primero el principio de cadena ^
-Luego uno o más caracteres válidos para la unidad, los dos puntos y la contrabarra de rigor [a-z]+:\\
- ([a-z0-9\._\- ]+\\)? se refiere a un directorio. Un conjunto de caracteres válidos para un directorio (uno o más) seguidos de la contrabarra. Todo el conjunto es opcional ya que pueden haber directorios o no.
- ([a-z0-9\._\- ]+) se refiere a un archivo. Conjunto de caracteres válidos, uno o más, y el grupo sólo ha de repetirse una vez y ser obligatorio
- Fin de cadena $


Tu expresión:
Código:
/^\w+([\\]?\w+)+$/
Decía:
Un caracter alfanumérico seguido de un grupo que aparezca al menos una vez formado por:
Una contrabarra opcional seguido de un caracter alfanumérico repetido al menos una vez.

Representaría cosas como esta:
-U
-H\\hola
-m\\quetal

Te faltarían de todos modos los dos puntos, pero ibas más o menos encaminado. Ten en cuenta que poner \w+ seguido de (\w+)+ (ya que la contrabarra es opcional) es un poco complicado de leer.


Un saludo
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:13.