请教一下大家, 用excape和unescape转过后,为什么中间少了一个空格呢?
<SCRIPT LANGUAGE="JavaScript">
<!--
a="| |"; //此处中间有2个空格b = escape(a);
document.write(b + "<br>"); c = unescape(b);
document.write(c); //write出来中间只有一个空格了
//-->
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
<!--
a="| |"; //此处中间有2个空格b = escape(a);
document.write(b + "<br>"); c = unescape(b);
document.write(c); //write出来中间只有一个空格了
//-->
</SCRIPT>
解决方案 »
- 请教一个js操作radio按钮的问题!当达到某个值的时候,就不允许再选择“同意”了
- $("[type='checkbox'][checked]").each(function(i, v){ ie 8不支持此写法
- 如何拦截网页中FLASH事件
- 高手帮我看一下这段JS的问题啊
- 帮我用JavaScript写个条件语句(高难度)
- 散分喽……18027523 web技术交流群
- 【一百分:求表格内容字符串替换的最佳算法】
- if 语句的问题,请指点!
- SOS!SOS!SOS!SOS!SOS!SOS!在先等待30分钟。
- 再请教:如何得到浏览器的窗口的尺寸?
- javascript入门
- JavaScript调用外部Web Service引用
document.write(b + "<br>"); c = unescape(b);
document.write(c); //write出来中间只有一个空格了
document.write(c.length);
<!--
a="| |"; //此处中间有2个空格,如果发贴后变成一个,大家可以自己输入2个测试b=escape(a);
document.write(b + "<br>"); c=unescape(b);
document.write(c); //write出来中间只有一个空格了
//-->
</SCRIPT>
<!--
a="| |"; //长度是4(空格两个)b=escape(a);
alert(a.length);//是两个空格(长度是4)c=unescape(b);
alert(a.length);//依然是两个空格(长度是4)
//-->
</SCRIPT>可能是浏览器看不出
<SCRIPT LANGUAGE="JavaScript">
<!--
a="| |"; //长度是4(空格两个)b=escape(a);
document.write(a);//是两个空格(长度是4)c=unescape(b);
document.write(a);//依然是两个空格(长度是4)
//-->
</SCRIPT>//两次输出一样的,浏览器看不出来,就算你输出100个空格也是现实1个
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>space.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<SCRIPT LANGUAGE="JavaScript">
<!--
var a="| |"; //此处中间有2个空格,如果发贴后变成一个,大家可以自己输入2个测试
alert(a + ":" + a.length);
var b=escape(a);
alert(b+ ":" + a + "<");
document.write(b + "<br>");
var c=unescape(b);
alert(c + ":" + c.length);//这里有空格的
document.write(c); //write出来中间只有一个空格了,可能是write忽略空格了
document.write("有 2个空格");//比较这2行代码就知道了,用|或不用的区别;所以去掉“|”就没有错误了
document.write("有| |2个空格");
//-->
</SCRIPT>
</head>
<body>
</body>
</html>
document.write("有| |4个空格");
document.write用了|线就会忽略空格了
应该不是|的问题, 我是为了看上去明显才用的|, 其实用其它字也是一样的。
你的第一行document.write("有 4个空格"); 显示也是一个空格其它我用write是测试用的, 我原本的代码是付值给一个div1.比如从数据库取值,取得字符串: "有 4个空格"
2.escape后放在URL里传参数:?p=%u6709%20%20%20%204%u4E2A%u7A7A%u683C
3.从URL取参数:c= unescape(p)
3.div.innerHTML = c //这时,div显示少了空格。
document.write("有 4个空格");
document.write("有| |4个空格");放到script中运行下看看有没有不同
a="| |"; //此处中间有2个空格,如果发贴后变成一个,大家可以自己输入2个测试b=escape(a);
document.write(b + "<br>"); c=unescape(b);
document.write(c.replace(/ /g, " ")); //write出来中间只有一个空格了
<body>
<div id="div1" style="BORDER-BOTTOM: 1px solid;BORDER-BOTTOM-COLOR: #FF0000;width:500px;" ></div>
</body><SCRIPT LANGUAGE="JavaScript">
<!--
a="%u6709%20%20%20%204%u4E2A%u7A7A%u683C"; //有 4个空格b=unescape(a);
alert(b);
div1.innerHTML = b; //执行完毕后,Div里只有1个空格?//-->
</SCRIPT>
<div id="div1" style="BORDER-BOTTOM: 1px solid;BORDER-BOTTOM-COLOR: #FF0000;width:500px;" ></div>
</body><SCRIPT LANGUAGE="JavaScript">
<!--
a="%u6709%20%20%20%204%u4E2A%u7A7A%u683C"; //有 4个空格b=unescape(a);
b=b.replace(new RegExp(" ","gm")," ")
div1.innerHTML = b; //执行完毕后,Div里只有1个空格?//-->
</SCRIPT>
<body>
<div id="div1" style="BORDER-BOTTOM: 1px solid;BORDER-BOTTOM-COLOR: #FF0000;width:500px;" ></div>
</body><SCRIPT LANGUAGE="JavaScript">
<!--
a="%u6709%20%20%20%204%u4E2A%u7A7A%u683C"; //有 4个空格b=unescape(a);
b=b.replace(new RegExp(" ","gm")," ")
div1.innerHTML = b; //执行完毕后,Div里只有1个空格?//-->
</SCRIPT>