【问题标题】:Replacing all \ with in string with / using javascript用/使用javascript替换字符串中的所有\
【发布时间】:2014-10-26 11:49:54
【问题描述】:

我目前正在研究 Javascript。
我有一个变量取值 D:\Abc\xyz\mno\rst\uvw.inc 我需要用上面变量中的/ 替换所有\。 我收到错误:SyntaxError: unterminated string literal

有人可以帮我解决这个问题吗?
代码如下:

<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>

【问题讨论】:

    标签: javascript join replace split


    【解决方案1】:

    您应该转义字符串中的所有反斜杠字符:

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

    同时确保不要使用 Unicode 引号 (‘’) 而不是普通引号 (''),就像在 join 参数中一样:

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

    【讨论】:

    • 感谢 Vision,我已经更正了这个问题。顺便说一句,感谢您的帮助。干杯。祝你有美好的一天。 :)
    • @raavan 欢迎您。顺便说一句,正如#sergiomse 所建议的那样,明智的做法是使用“全局”字符串替换而不是拆分连接组合,因为它的工作速度会更快。
    • 好的,伙计..我也会尝试一下..干杯.. :)
    【解决方案2】:

    试试这个:

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

    【讨论】:

      猜你喜欢
      • 2011-01-24
      • 2017-10-22
      • 2012-08-16
      • 2022-11-19
      • 2014-08-05
      • 2021-06-16
      • 1970-01-01
      相关资源
      最近更新 更多