2014-07-16 59 views
2

如何使用包含通常用作特殊符號的字符串的字符串。我知道關於篩選'\'。但是如果我從輸入值中獲得一個值,該怎麼辦?爲什麼有不同的規則來解析值?使用包含「特殊符號」的字符串的正確方法?

el1:<input id="el1" value="C:\files\Input Dir\fileName.txt"> 
    <br /> 
    el2:<input id="el2" value=""> 
    <br /> 
    el3:<input id="el3" value=""> 

在這裏我們可以找到的差異

var el1 = document.getElementById('el1'); 
var el2 = document.getElementById('el2'); 
var el3 = document.getElementById('el3'); 

var val1 = el1.value; 
var val2 = "C:\files\Input Dir\fileName.txt"; 

console.log(val1); 
console.log(val2); 
console.log(val1 == val2); 

el2.value = val1; 
el3.value = val2; 

您可以在http://jsbin.com/lucurowo/1/edit

檢查這種情況下,爲什麼當我從'штезге的價值,有沒有篩查\ f和'\ f'理解爲字符串而不是換頁標記?

回答

0

這不是你從el1得到的。這是對的。這是你比較的(val2),這是不正確的。您需要轉義\是的轉義字符。

所以,你的代碼應該是:

var val2 = "C:\\files\\Input Dir\\fileName.txt"; 
+0

如果生成通過某種服務器端語言HTML'Node.js','PHP'或類似的東西 - 它會有一個庫,將正確地轉義HTML。不僅僅是這些章程,還有其他許多章程。 –

+1

我知道這件事。問題是關於從輸入獲取代碼 - 有什麼區別? (你在jsbin看到過例子嗎?) –

+0

我在jsbin看過例子。如果你修復了val2行,問題就會消失 –

相關問題