为什么要将%20添加到我的javascript变量中的空格中 函数openFile(文件,对象){ 变量扩展名=file.substr((file.lastIndexOf('.')+1)); var fileName=file.substr((file.lastIndexOf('/')+1),(file.length-(file.lastIndexOf('/')+1))-4); object.append(“”); object.append(“”); 交换机(分机){ 案例“ppt”: object.find('img').attr('src','PowerPoint icon.png'); 打破 案例“pdf”: object.find('img').attr('src','pdficon_large.gif'); 打破 案例“txt”: object.find('img').attr('src','txt_icon.png'); 打破 违约: 警报(“错误”); } object.find('span.thefile').text(文件名); };

为什么要将%20添加到我的javascript变量中的空格中 函数openFile(文件,对象){ 变量扩展名=file.substr((file.lastIndexOf('.')+1)); var fileName=file.substr((file.lastIndexOf('/')+1),(file.length-(file.lastIndexOf('/')+1))-4); object.append(“”); object.append(“”); 交换机(分机){ 案例“ppt”: object.find('img').attr('src','PowerPoint icon.png'); 打破 案例“pdf”: object.find('img').attr('src','pdficon_large.gif'); 打破 案例“txt”: object.find('img').attr('src','txt_icon.png'); 打破 违约: 警报(“错误”); } object.find('span.thefile').text(文件名); };,javascript,jquery,Javascript,Jquery,此函数本身可以正常运行,但当我将其添加到学校的cms模板时,它会将%20添加到文件名中的所有空格中 你认为他们有他们自己的功能吗?目的是什么?为了安全 %20是空间的标准URL编码。无论处理空间的函数是什么,它们都认为需要进行编码,以便在URL中使用 至于为什么这样做,这并不完全是为了安全。并非所有系统都能很好地处理空间;这在这些情况下会有所帮助,因此URL编码空间(除其他外)被认为是“更安全的”。有关所有其他信息,请参见和正则表达式是什么,以取出%20。我从url路径中获取链接名,所以我想去掉

此函数本身可以正常运行,但当我将其添加到学校的cms模板时,它会将%20添加到文件名中的所有空格中


你认为他们有他们自己的功能吗?目的是什么?为了安全

%20
是空间的标准URL编码。无论处理空间的函数是什么,它们都认为需要进行编码,以便在URL中使用


至于为什么这样做,这并不完全是为了安全。并非所有系统都能很好地处理空间;这在这些情况下会有所帮助,因此URL编码空间(除其他外)被认为是“更安全的”。有关所有其他信息,请参见和

正则表达式是什么,以取出%20。我从url路径中获取链接名,所以我想去掉它。你不需要正则表达式,你只需要对url进行解码。有许多实现,例如。挑一个你喜欢的并用它。
function openFile(file, object) {
    var extension = file.substr( (file.lastIndexOf('.') +1) );

    var fileName = file.substr((file.lastIndexOf('/') +1), (file.length - (file.lastIndexOf('/') +1))-4);


    object.append('<img class="theimage" src="" alt="icon"/>');
    object.append('<span class="thefile"></span>');


    switch(extension) {

        case 'ppt':
            object.find('img').attr('src', 'PowerPoint-icon.png');
        break;
        case 'pdf':
            object.find('img').attr('src', 'pdficon_large.gif'); 
        break;
        case 'txt':
            object.find('img').attr('src', 'txt_icon.png'); 
        break;
        default:
            alert('error');
    }

    object.find('span.thefile').text(fileName);

};