Siéntete en la libertad de compartir nuestro espacio y códigos en tus redes, danos de tu ayuda para aumentar esta comunidad.
Solución:
Desea verificar cuál es el valor del elemento, algo así como:
$("#user_profile_pic").change(function()
var val = $(this).val();
switch(val.substring(val.lastIndexOf('.') + 1).toLowerCase())
case 'gif': case 'jpg': case 'png':
alert("an image");
break;
default:
$(this).val('');
// error message here
alert("not an image");
break;
);
Editar
El código cambió según el comentario: ahora elimina el valor del archivo seleccionado si no es una imagen.
Es bastante simple, no necesita validaciones de JavaScript. Simplemente escriba esto y solo aceptará archivos de imagen.
Podrías usar una expresión regular:
var val = $("#user_profile_pic").val();
if (!val.match(/(?:gif|jpg|png|bmp)$/))
// inputted file path is not an image of one of the above types
alert("inputted file path is not an image!");
Por supuesto, podría agregar más formatos a la expresión regular. Hay formas más complejas y completas de lograr esto, pero este método cumplirá la tarea siempre que la ruta del archivo de imagen ingresada termine en una extensión de archivo de imagen estándar.
Te mostramos comentarios y valoraciones
Agradecemos que desees añadir valor a nuestro contenido informacional aportando tu experiencia en las explicaciones.