问题是在于url在编码是发什的错误问题
function getFileName(file){
var reg = new RegExp('[&]');
var arr = file.split('\\');
if(reg.test(arr[arr.length-1]))
{
arr[arr.length-1] = arr[arr.length-1].replace(reg,"%26");;
}
return arr[arr.length-1];
}
特殊字符 | URL中用途 | 转义方式 |
---|---|---|
+ | 表示空格 | %2B |
(空格) | 应换用加号 + 或%20 表示 | %20 |
/ | 分隔目录和子目录 | %2F |
? | 分隔实际的 URL 和参数 | %3F |
% | 指定特殊字符 | %25 |
# | 表示书签 | %23 |
& | URL中指定的参数间的分隔符 | %26 |
= | URL中指定参数的值 | %3D |
! | URL中指定参数的值 | %21 |
在使用replace和正则表达式特换掉其中的&符号
<script type="text/javascript">
var str = "+Hello World!+Hello World!+Hello World!";
//利用正则表达式把所有的“+”替换为“_”。“$”为特殊字符,所以前面要加“\\”。
alert(str.replace(new RegExp("\\+","g"),"_"));
</script>