2014-09-02 51 views
0

我目前正在使用Javascript。
我有一个变量withich取值D:\ Abc \ xyz \ mno \ rst \ uvw.inc 我需要从上面的变量中用/替换所有\。 我得到的错误:SyntaxError:未终止的字符串文字

有人可以帮我解决这个问题吗?下面
代码给出:替换所有在字符串中使用javascript

<html> 
<head> 
</head> 
<body> 
<table> 
    <tr> 
    <td>File Name </td> 
    <td><Input type="text" id="file_name" size="100" onblur="getFilePath(this.value);"> </td> 
    <td><Input type="text" id="for_file_name" size="100"></td> 
</tr> 
</table> 
<script> 
function getFilePath(var_input) { 
    alert("Input: "+var_input); 
    var myArray = var_input.split("\"); 
    var myStr = myArray.join('/'); 
    alert(myStr) 
    } 
</script> 

</body> 
</html> 

回答

2

你应该逃避所有反斜杠字符字符串中:

var myArray = var_input.split('\\'); 

还要确保你不使用Unicode编码(‘’),而不是正常的引用(''),因为您在join参数:

// ----------------------v-v 
var myStr = myArray.join(‘/’); 
+0

谢谢Vision,我已经纠正了这个问题。 btw感谢您的协助。干杯。祝你有美好的一天。 :) – raavan 2014-09-02 09:04:24

+0

@raavan不客气。顺便说一句,正如#sergiomse提出的那样,使用'全局'字符串替换而不是拆分连接组合将是明智的,因为它的工作速度会更快。 – VisioN 2014-09-02 09:09:00

+0

当然..我也会试一试..干杯.. :) – raavan 2014-09-02 09:45:35

2

试试这个:

var_input = var_input.replace(/\\/g, "/");