gpt4 book ai didi

javascript - 传递 url 时保留原始反斜杠的问题

转载 作者:行者123 更新时间:2023-12-01 02:13:43 29 4
gpt4 key购买 nike

我有一个应用程序,它解析字符串并通过 jQuery 将它们传递到弹出窗口。我传递的一些字符串包含网址或内部 C: 驱动器位置的字段。当我将字符串传递到窗口时,Windows路径中的反斜杠(“\”)将被删除(使用正斜杠的网址当然没有问题。我试图将这些字符串作为链接传递,所以用户只需单击链接即可。显然,如果反斜杠被删除,则链接将不起作用。我到底该如何测试这个?我尝试了一些简单的正则表达式,但不起作用。

编辑:我正在解析的字符串来自应用程序的 Sharepoint 列表,我无法控制它们的格式,它们只是以“\drive\then\the\path\to\the\”的形式输入到列表中文件”。我的理解是,我需要检查是否有反斜杠,然后通过添加另一个反斜杠来转义它。但如何呢?

编辑2:很高兴知道我走在正确的轨道上。从我在互联网上读到的内容来看,我认为这是沿着这条线的。但是,我仍然无法让它发挥作用。也许你们可以帮助我......

我已经从共享点列表中获取了该字段,如下所示(共享点存储带有“ows_”前缀的字段名称:

var devPath = "<a class='h_link' href='"+$(this).attr('ows_DEVPathURLServer')+"'>"+$(this).attr('ows_DEVPathURLServer')+"</a>";

如上所述,这对于 Web URL 非常有用。

然后我乱搞了一个 .replace(/\/g,'\\'); ,但它不会运行。所以我想我会尝试:

      var unregged = $(this).attr('ows_DEVPathURLServer');
var regged = unregged.toString().split('\\').join('\\\\');
alert(regged);
var devPath = "<a class='h_link' href='"+regged+"'>"+regged+"</a>";

只是为了打破我的思维过程。不起作用。我错过了什么?

谢谢!

最佳答案

为了将每个反斜杠“加倍”,您可以执行以下操作:

myString.replace(/\\/g, '\\\\')

请注意,每次您在代码中看到两个反斜杠时,它实际上是一个,因为我们也需要在代码中转义它们。

g 表示全局替换,因此如果您有多个\,它们都会被替换。

关于javascript - 传递 url 时保留原始反斜杠的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9926077/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com