我有以下的文件路徑如何與替換 \使用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