传递url时保留原始反斜杠的问题
problems retaining original backslashes when passing url
我有一个应用程序,它解析字符串并通过jQuery将它们传递到弹出窗口。我传递的一些字符串包含一个用于web地址或内部C:驱动器位置的字段。当我把绳子传给窗户时,windows路径中的反斜杠("''")正在被删除(当然,使用正斜杠的网址没有问题。我正试图将这些字符串作为链接传递,这样用户就可以点击链接然后离开。显然,如果反斜杠被删除,链接就不起作用了。我该怎么测试呢?我已经尝试了一些不起作用的简单正则表达式。
编辑:我正在分析的字符串来自应用程序的Sharepoint列表,我无法控制它们的格式,它们只是以"''drive''then''The''path''to''file"的形式输入到列表中。我的理解是,我需要检查是否有反斜杠,然后通过添加另一个反斜杠来转义它。但是怎么做呢?
编辑2:很高兴知道我走在了正确的轨道上。从我在互联网上读到的内容来看,我认为这是一种类似的东西。然而,我仍然无法让它发挥作用。也许你们可以帮我。。。。
我从sharepoint列表中获取了如下字段(sharepoint存储前缀为"ows_"的字段名:
var devPath = "<a class='h_link' href='"+$(this).attr('ows_DEVPathURLServer')+"'>"+$(this).attr('ows_DEVPathURLServer')+"</a>";
如前所述,这对web URL非常有效。
所以后来我做了一个替换(/''/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
表示全局替换,因此如果您有几个'',它们都将被替换。
这里有一个更快、无正则表达式的单行解决方案:
myString.split('''').join('''''');//replaces all backslashes with double backslashes.
在这里使用regexp太过分了。。。
您可以简单地检查这是否是"本地"位置,并在进一步传递之前将其转换为文件URI方案。
像这样的东西可能会起作用:
var localPathRegex = /^''('w)''/i;
if (localPathRegex.test(url)){
url = url.replace(localPathRegex, 'file:///$1:/').replace(/''/g, '/');
}
这应该将'd'then'the'path'to'the'file
转换为file:///d:/then/the/path/to/the/file
您需要用另一个反斜杠转义反斜杠。你传递的url看起来像这样:
c: ''''mydrive''''MyFolder
- 在指令控制器中使用$attrs时出现问题
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- JavaScript Pub/Sub属性访问问题
- JavaScript异步问题
- 如何解决Yii中的页面刷新问题
- Safari(Mac OS)上的jQuery平滑滚动问题
- 使用jQuery从原始页面内容创建iframe
- 蒸汽API接入控制允许原始问题
- 尼沃滑块问题,从原始位置滑落
- 传递url时保留原始反斜杠的问题
- PhantomJS中解析JSON平面文件的问题(请不要jquery,原始javascript)
- 从Typeforms webhook解析原始正文时出现问题
- jQuery.getJSON-访问控制允许原始问题