url路径中特殊字符的转换,通过JS转换,并且打开
2012-12-06 16:21
330 查看
碰到的问题场景:
上传了个文件,但文件名称中含有特殊字符,例如&,#.
现在要将这个字符转换成URL认识的样子,并且不影响下载后的文件名称
function getContextPath() {
var pathName = document.location.pathname;
var index = pathName.substr(1).indexOf("/");
var result = pathName.substr(0,index+1);
return result;
}
function formatUrl(url){
url = url.replace(/&/g,"%26");
url = url.replace(/#/g,"%23");
//url = escape(url);
alert(url);
url = getContextPath()+"/FileDownLoadService?filename="+url;
alert(url);
var elemIF = document.createElement("iframe");
elemIF.src = url;
elemIF.style.display = "none";
document.body.appendChild(elemIF);
//alert('xx');
//window.open(url);
}
js替换特殊字符及取小数点处理
function Check(s) {2
var str = s.replace(/%/g,
"%25 ").replace(/\+/g,
"%2B ").replace(/\s/g,
"+ ");
// % + \s 3
str = str.replace(/-/g, "%2D
").replace(/\*/g,
"%2A ").replace(/\//g, "%2F ");
// - * /
4
str = str.replace(/\&/g, "%26
").replace(/!/g,
"%21 ").replace(/\=/g,
"%3D ");
// & ! = 5
str = str.replace(/\?/g, "%3F
").replace(/:/g,
"%3A ").replace(/\|/g,
"%7C ");
// ? : | 6
str = str.replace(/\,/g, "%2C
").replace(/\./g,
"%2E ").replace(/#/g,
"%23 ");
// , . # 7
return str;8 }
小数点特殊处理
var Digit = {}; 2
/** 3
* 四舍五入法截取一个小数 4
*
@param float digit 要格式化的数字 5
*
@param integer length 要保留的小数位数 6
*
@return float 7
*/
<br /> 8
Digit.round = function(digit, length) { 9
length = length ? parseInt(length) : 0;10
if (length <=
0) return Math.round(digit);11
digit = Math.round(digit * Math.pow(10, length)) / Math.pow(10, length);12
return digit;13
};14
/**15
* 舍去法截取一个小数16
* @param float digit 要格式化的数字17
* @param integer length 要保留的小数位数18
* @return float19
*/20
Digit.floor = function(digit, length) {21
length = length ? parseInt(length) : 0;22
if (length <= 0)
return Math.floor(digit);23
digit = Math.floor(digit * Math.pow(10, length)) / Math.pow(10, length);24
return digit;25
};26
/**27
* 进一法截取一个小数28
* @param float digit 要格式化的数字29
* @param integer length 要保留的小数位数30
* @return float31
*/32
Digit.ceil = function(digit, length) {33
length = length ? parseInt(length) : 0;34
if (length <=
0) return Math.ceil(digit);35
digit = Math.ceil(digit * Math.pow(10, length)) / Math.pow(10, length);36
return digit;37
};38
39 // 使用方法40
var num = 1.2345;41
document.write("数字:" + num +
"<br />");42
document.write("四色五入法:<br />");43
document.write(num + " 保留3位小数:" + Digit.round(num,
3) + "<br />");44
document.write(num + " 保留2位小数:" + Digit.round(num,
2) + "<br />");45
document.write("舍去法:<br />");46
document.write(num + " 保留3位小数:" + Digit.floor(num,
3) + "<br />");47
document.write(num + " 保留2位小数:" + Digit.floor(num,
2) + "<br />");48
document.write("进一法:<br />");49
document.write(num + " 保留3位小数:" + Digit.ceil(num,
3) + "<br />");50
document.write(num + " 保留2位小数:" + Digit.ceil(num,
2) + "<br />")
连接地址编写方式
<a href="javascript: formatUrl('${att.filename}')"
上传了个文件,但文件名称中含有特殊字符,例如&,#.
现在要将这个字符转换成URL认识的样子,并且不影响下载后的文件名称
function getContextPath() {
var pathName = document.location.pathname;
var index = pathName.substr(1).indexOf("/");
var result = pathName.substr(0,index+1);
return result;
}
function formatUrl(url){
url = url.replace(/&/g,"%26");
url = url.replace(/#/g,"%23");
//url = escape(url);
alert(url);
url = getContextPath()+"/FileDownLoadService?filename="+url;
alert(url);
var elemIF = document.createElement("iframe");
elemIF.src = url;
elemIF.style.display = "none";
document.body.appendChild(elemIF);
//alert('xx');
//window.open(url);
}
js替换特殊字符及取小数点处理
function Check(s) {2var str = s.replace(/%/g,
"%25 ").replace(/\+/g,
"%2B ").replace(/\s/g,
"+ ");
// % + \s 3
str = str.replace(/-/g, "%2D
").replace(/\*/g,
"%2A ").replace(/\//g, "%2F ");
// - * /
4
str = str.replace(/\&/g, "%26
").replace(/!/g,
"%21 ").replace(/\=/g,
"%3D ");
// & ! = 5
str = str.replace(/\?/g, "%3F
").replace(/:/g,
"%3A ").replace(/\|/g,
"%7C ");
// ? : | 6
str = str.replace(/\,/g, "%2C
").replace(/\./g,
"%2E ").replace(/#/g,
"%23 ");
// , . # 7
return str;8 }
小数点特殊处理
var Digit = {}; 2
/** 3
* 四舍五入法截取一个小数 4
*
@param float digit 要格式化的数字 5
*
@param integer length 要保留的小数位数 6
*
@return float 7
*/
<br /> 8
Digit.round = function(digit, length) { 9
length = length ? parseInt(length) : 0;10
if (length <=
0) return Math.round(digit);11
digit = Math.round(digit * Math.pow(10, length)) / Math.pow(10, length);12
return digit;13
};14
/**15
* 舍去法截取一个小数16
* @param float digit 要格式化的数字17
* @param integer length 要保留的小数位数18
* @return float19
*/20
Digit.floor = function(digit, length) {21
length = length ? parseInt(length) : 0;22
if (length <= 0)
return Math.floor(digit);23
digit = Math.floor(digit * Math.pow(10, length)) / Math.pow(10, length);24
return digit;25
};26
/**27
* 进一法截取一个小数28
* @param float digit 要格式化的数字29
* @param integer length 要保留的小数位数30
* @return float31
*/32
Digit.ceil = function(digit, length) {33
length = length ? parseInt(length) : 0;34
if (length <=
0) return Math.ceil(digit);35
digit = Math.ceil(digit * Math.pow(10, length)) / Math.pow(10, length);36
return digit;37
};38
39 // 使用方法40
var num = 1.2345;41
document.write("数字:" + num +
"<br />");42
document.write("四色五入法:<br />");43
document.write(num + " 保留3位小数:" + Digit.round(num,
3) + "<br />");44
document.write(num + " 保留2位小数:" + Digit.round(num,
2) + "<br />");45
document.write("舍去法:<br />");46
document.write(num + " 保留3位小数:" + Digit.floor(num,
3) + "<br />");47
document.write(num + " 保留2位小数:" + Digit.floor(num,
2) + "<br />");48
document.write("进一法:<br />");49
document.write(num + " 保留3位小数:" + Digit.ceil(num,
3) + "<br />");50
document.write(num + " 保留2位小数:" + Digit.ceil(num,
2) + "<br />")
连接地址编写方式
<a href="javascript: formatUrl('${att.filename}')"
相关文章推荐
- JS中URL中的特殊字符问题(escape,encodeURI,encodeURIComponent)
- 您试图打开的项目是WEB项目,需要通过指定其"Url"路径来打开它
- JS中URL中的特殊字符问题:escape,encodeURI,encodeURIComponent(转)
- JS 和 Java 中URL特殊字符编码方式
- JS过滤url参数中的特殊字符
- JS过滤url参数特殊字符的实现方法
- JS中URL中的特殊字符问题:escape,encodeURI,encodeURIComponent
- 使用URLDecoder.decode解析字符串含有"+","+"号这个特殊字符会被吃掉,转换成空格
- JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解
- 您试图打开的项目是WEB项目,需要通过指定其"Url"路径来打开它!
- JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解
- iOS中url的特殊字符转换
- 怎么通过url传递带?#等特殊字符的参数!
- VS2003:--------关于"您试图打开的项目是WEB项目,需要通过指定其"Url"路径来打开
- android Intent 通过Uri打开文件,当文件地址出现特殊字符(#,“ ”,“[]”等)文件无法正常打开
- ajax的js中url传送特殊字符和中文汉字的乱码解决
- JS中URL中的特殊字符问题:escape,encodeURI,encodeURIComponent
- 通过struts.xml配置映射后的jsp引入外部css和js的路径问题及css中图片url路径问题
- HTML、JS、JSON特殊字符 - JS到HTML特殊字符转换
- url特殊字符转换