我有以下的文件路径如何与替换 \使用JavaScript字符串函数
var imagepath="C:\Documents and Settings\Mahesh\Desktop\images\advts.png"
我怎么能替换\与\所以,使其打印
var imagepath="C:\\Documents and Settings\\Mahesh\\Desktop\\images\\advts.png"
我有以下的文件路径如何与替换 \使用JavaScript字符串函数
var imagepath="C:\Documents and Settings\Mahesh\Desktop\images\advts.png"
我怎么能替换\与\所以,使其打印
var imagepath="C:\\Documents and Settings\\Mahesh\\Desktop\\images\\advts.png"
您需要使用replace()方法而逸出在每次出现时的\
字符:
imagepath = imagepath.replace(/\\/g, "\\\\");
//-> "C:\\Documents and Settings\\Mahesh\\Desktop\\images\\advts.png"
如果imagepath
使用单个反斜杠字符定义,那么这些字符将与它们后面的字符一起评估为转义序列。此时,在从结果字符串中删除反斜杠时替换反斜杠为时已晚。
它是一个字符串文字。当它被分配到imagepath时,转义序列已经被分析和处理,并且反斜杠不再存在于字符串中。你只需要首先将它们放在字符串中。
为了证明我的意思:
>>> var imagepath="C:\Documents and Settings\Mahesh\Desktop\images\advts.png"
>>> imagepath
"C:Documents and SettingsMaheshDesktopimagesadvts.png"
有没有办法解决这个问题,在这一阶段。
您可以使用字符串replace()
方法。 Replace on W3Schools.com。
实施例:
var imagepath="C:\Documents and Settings\Mahesh\Desktop\images\advts.png"
document.write(imagepath.replace("\\", "\\\\"));
Upate正如reko_t说,一旦路径被分配给imagepath
,这是一个处理的文字。 \
个字符消失。我刚刚用这个例子测试了我的代码,不幸的是无法修复它。
<html>
<head>
<script type="text/javascript">
function init() {
var imagepath="C:\Documents and Settings\Mahesh\Desktop\images\advts.png"
alert(imagepath.replace(/\\/g, "\\\\"));
}
</script>
</head>
<body onload="init()">
</body>
</html>
做到这一点的唯一方法是更换\
到\\
在服务器端,它之前被渲染成JavaScript需要由JavaScript用来分配给imagepath
。
这不起作用,请参阅我的答案以解释原因。 – 2010-10-12 10:34:44
我看到了......谢谢.... – 2010-10-12 10:36:08
如果确实起作用,它只会取代第一个反斜杠。对于全局替换,您需要使用正则表达式。 – 2010-10-12 10:38:37
变种的ImagePath初始化
var imagepath=imagepath.replace("\", "\\");
回报的ImagePath后只需添加;
你如何生成线?解决方案应该在服务器端,在JavaScript之前。 – Kobi 2010-10-12 10:36:27