Foros del Web » Programando para Internet » Javascript »

validar un JPG ó un GIF

Estas en el tema de validar un JPG ó un GIF en el foro de Javascript en Foros del Web. tengo esta funcion que me permite validar archivos que tengan extension JPG o GIF .. estoy haciendo un upload pero el Script solo me funciona ...
  #1 (permalink)  
Antiguo 03/03/2004, 15:24
 
Fecha de Ingreso: octubre-2003
Ubicación: BolivianitA
Mensajes: 235
Antigüedad: 20 años, 6 meses
Puntos: 0
validar un JPG ó un GIF

tengo esta funcion que me permite validar archivos que tengan extension JPG o GIF .. estoy haciendo un upload pero el Script solo me funciona con el nombre del archivo.extension lo que quiero es validar una dirección como ser c:\imagenes\archivo.extension el problema que tengo es como valido la otra parte c:\imagenes\ la ruta no siempre va ser c:\images\ .. uso un

<input type="text" name="archivo" size="50">


el script es el siguiente :


function validarjpg() {
if (/^(\w+).(jpg|gif)$/.test(document.form.archivo.value)){ return true;
} else {
alert("el archivo "+ document.form.archivo.value +" introducido no es valido. ")
return false;
}
return true;
}


....ayudenme por fa

saludos
__________________
rocita
  #2 (permalink)  
Antiguo 04/03/2004, 07:07
 
Fecha de Ingreso: octubre-2003
Ubicación: BolivianitA
Mensajes: 235
Antigüedad: 20 años, 6 meses
Puntos: 0
.. por favor

ya pregunte la misma pregunta unas 4 veces en el foro ayudenme
__________________
rocita
  #3 (permalink)  
Antiguo 04/03/2004, 11:18
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
A ver si puedo saldarte la duda por fin:

Lo mejor seria trabajar con expresiones regulares. Con eso no hay problema de que sea una ruta u otra, solo debe cumplir unos requisitos, por ejemplo que tenga una letra de unidad seguida de ":/" y luego un conjunto alfanumerico seguido de "/" que puede repetirse cuantas veces se quiera. Al final de eso deberia haber un conjunto alfanumerico, un "." y un conjunto de caracteres predefinido: "jpg" o "gif".

Informate de las expresiones regulares, puede parecer dificil, pero es ir poco a poco.
__________________
- 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 04/03/2004, 13:15
Avatar de lantrax  
Fecha de Ingreso: abril-2003
Ubicación: Spain is different
Mensajes: 310
Antigüedad: 21 años
Puntos: 0
Hola rocita

uhmm, pues la verdad es q es un poco dificil.....
No se como hacer en JavaScript que reconozca si la ruta relativa al directorio es correcta o hay un error, pero para comprobar que se haya escrito una ruta de forma correcta aunq puede que no real... serái algo así
Código:
function validar(rutaimagen){

// aqui pones los caracteres invalidos que quieras, 
// pero no pongas logicamente los : o la \
invalidos= " ;-*¿?,;{}[]'$%ªº"; 
largo=invalidos.length

// miro a ver si esta vacia
if (rutaimagen==""){
	return false
	}

// miro a ver si tiene cosas raras	
for (i=0;i<largo;i++){
	erroneo=invalidos.charAt(i)
	if (rutaimagen.indexOf(erroneo,0) > -1){
		return false
		}
	}

// miro a ver si despues de la letra de unidad, a puesto :\	
if (substr(rutaimagen,1,2)!=":\"){
	return false
}

// compruebo si la extension es jpg o gif
extension=substr(rutaimagen,largo-5,largo-1)
if (extension!=".gif")||(extension!=".jpg"){
	return false
}

return true

}
salvo q haya metido algún gazapo al escribirlo... (no lo he probado, falta de tiempo, así q pruebalo tu a ver si funciona)

Suerte
__________________
______________________________

LaNTRaX
  #5 (permalink)  
Antiguo 05/03/2004, 12:55
 
Fecha de Ingreso: octubre-2003
Ubicación: BolivianitA
Mensajes: 235
Antigüedad: 20 años, 6 meses
Puntos: 0
no me funciona lantrax :(

pues un docente q tengo me dijo que usando expresiones regulares se puede validar yo uso el siguiente /^(\w+).(jpg|gif)$/. y mew funciona pero con el nombre del archivo y si extencion lo que quiero validar es la ruta como ser c:\video\img.jpg
__________________
rocita
  #6 (permalink)  
Antiguo 07/03/2004, 07:11
Avatar de lantrax  
Fecha de Ingreso: abril-2003
Ubicación: Spain is different
Mensajes: 310
Antigüedad: 21 años
Puntos: 0
prueba a ver esto

Código:
<HTML>
<HEAD>
<TITLE>Documento sin t&iacute;tulo</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>

<BODY>
<SCRIPT>
function validar(rutaimagen){

// miro a ver si despues de la letra de unidad, a puesto :\	
if((rutaimagen.charCodeAt(1)==58)&&(rutaimagen.charCodeAt(2)!=92)){
	alert(" Fallo en :\\")
return false
}

// aqui pones los caracteres invalidos que quieras, 
// pero no pongas logicamente los : o la \
invalidos= ";-*¿?,{}[]'$%ªº"; 
largo=invalidos.length
long=rutaimagen.length

// miro a ver si esta vacia
if (rutaimagen==""){
alert("no hay nada escrito")
	return false
	}

// miro a ver si tiene cosas raras	
for (i=0;i<largo;i++){
	erroneo=invalidos.charAt(i)
	if (rutaimagen.indexOf(erroneo,0) > -1){
	alert("simbolos incorrectos")
		return false
		}
	}


//if (rutaimagen.substr(1,2)!=":\\"){
//	return false
//}

// compruebo si la extension es jpg o gif
extension=rutaimagen.substr(long-4,4)

switch (extension){
		case '.gif':
		return true
		break;
		case '.jpg':
		return true
		break;
		default:
		return false
		alert("extension invalida")
		break;
	}

return true

}

</script>
<input type=text name="ruta" value="c:\carpeta1\logo.gif">
<input type=button value="Validar ruta" 
onClick="(validar(ruta.value))?alert('valido'):alert('incorrecto');">
</BODY>
</HTML>
no se si es lo que quieres

prueba a copiarlo y pegarlo como htm y ejecutalo a ver si te soluciona algo.

es un poco crebuscado pero funciona, o eso me ha parecido

Salu2
__________________
______________________________

LaNTRaX
  #7 (permalink)  
Antiguo 13/03/2004, 08:26
 
Fecha de Ingreso: octubre-2003
Ubicación: BolivianitA
Mensajes: 235
Antigüedad: 20 años, 6 meses
Puntos: 0
...... fantastico ...... yo estaba usando de otra manera el ejemplo que me diste ..... gracias lantrax

saludos : adios:
__________________
rocita
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 10:50.