上传照片验证

jam*_*mal 0 javascript validation error-handling file-upload

我有一个像这样的javascript代码来验证我的用户在我的服务器上上传图片时的文件扩展名.它应该允许.jpg和.jpeg照片但是只接受.jpg文件,如果照片以.jpeg结尾则无效这是代码:


function validate(x) {
    var extensions = new Array("jpg", "jpeg");
    var pos = x.lastIndexOf('.') + 1;
    var ext = x.substring(pos, x.length);
    var final_ext = ext.toLowerCase();

for (i = 0; i < extensions.length; i++) {
    if (extensions[i] != final_ext) {

        return 0;
        break;
    }
    return 1;

}
Run Code Online (Sandbox Code Playgroud)

你觉得这个问题是什么?

Art*_*ius 6

应该

for (i = 0; i < extensions.length; i++) {
    if (extensions[i] == final_ext) {
        return 1;
    }
}
return 0;
Run Code Online (Sandbox Code Playgroud)

还要注意的是return立即结束当前的功能,所以把一breakreturn是没有意义的.

最后,如果此Javascript在客户端运行(即在Web浏览器中),请记住用户可能会绕过此问题(例如,通过使用Firebug).您可能也希望在服务器端进行检查.