Foros del Web » Programando para Internet » Javascript »

Problemas con split y rutas windows "\"

Estas en el tema de Problemas con split y rutas windows "\" en el foro de Javascript en Foros del Web. Estoy intentando separar una ruta windows para coger el nombre del fichero, la cuestion es que la funcion split deberia crearme un array pero al ...
  #1 (permalink)  
Antiguo 06/10/2006, 07:28
 
Fecha de Ingreso: julio-2006
Ubicación: sevilla
Mensajes: 251
Antigüedad: 17 años, 10 meses
Puntos: 5
Problemas con split y rutas windows "\"

Estoy intentando separar una ruta windows para coger el nombre del fichero, la cuestion es que la funcion split deberia crearme un array pero al ponerle la como condición "\" que es la barra de ruta de win, creo que me anula el codigo, porke piensa que es dividir, en fin hos dejo el código a ver que me podeis decir

var tamano;
var conti;
var tip= tel.length;
var t=tip-3;
var ex=tel.substr(t,3);
var ruta=tel;
var aruta=ruta.split("\");
var tam= aruta.length;


if (ex=="rtf" || ex=="odt" || ex=="pdf") {
}else{
alert ("El tipo de archivo no es valido, recuerde solo .rtf , .odt o .pdf ");
document.fcurso.archivo.value="";
return false;
}


tamano=aruta[tam].length;

if (tamano >50) {

alert ("El nombre del archivo tiene más de 50 carácteres.");
document.fcurso.archivo.value="";
return false;
}else{
}


cont=0;
while (cont <= tamano)) {
if (tel.charAt(cont) == " ") {
espacios = false;
}
cont++;
}

if (espacios != false) {
}else{
alert ("El nombre del archivo contiene espacios en blanco. " + ruta);
document.fcurso.archivo.value="";
return false;
}
  #2 (permalink)  
Antiguo 06/10/2006, 11:06
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 4 meses
Puntos: 13
nevergame:

El problema no está en el método split(), sino que en la propia cadena de texto que forma la ruta. Por ejemplo si tienes el siguiente código:

Código:
ruta = "C:\directorio\archivo.html";
alert(ruta);
El alert() te mostrará C:directorioarchivo.html, justamente por el echo de que para la clase String el backslash se utiliza para señalar que el caracter que le procede es un caracter especial.

Lo que habría que hacer es que en el texto de la ruta a cada backslash anteponerle otro:

ruta = "C:\\directorio\\archivo.html";

Si vuelves hacer un alert(ruta) el resultado será C:\directorio\archivo.html, por lo que el método split() ya te funcionará sin problemas.
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 19:53.