每天,我将网页文件保存在公共驱动器上。然后我必须将html文件的直接链接发送给客户端。
为此,我倾向于手动将文件夹目录中的所有反斜杠“\”转换为正斜杠“/”,并在开始时添加“http://”。
示例:
从
\\Public\Drive\PageLocation\
至http://Public/Drive/PageLocation/index.html
我已经开始使用find和replace选项了,但我觉得如果有某种代码在输入字段中转换这些路径会更好。
以下是我想到的内容的快速视觉效果:
*{font-family:sans-serif;}
p{
font-weight:bold;
}
<p>Folder Directory to URL </p>
<input type="text" placeholder="\\Public\Drive\PageLocation\">
<input type="submit" value="Convert">
<br>
<span>Result: http://Public/Drive/PageLocation/index.html</span>
<br/><br/>
<p>URL to Folder Directory </p>
<input type="text" placeholder="http://Public/Drive/PageLocation/index.html">
<input type="submit" value="Convert">
<br>
<span>Result: \\Public\Drive\PageLocation\</span>
我已经尝试过搞清楚JavaScript RegExp,但我没有找到太多运气使它成功。看起来它只能读取双反斜杠并忽略单曲:
var FolderDirectory = "\\Public\Drive\PageLocation";
var URLConvert = FolderDirectory.replace(/\\/g, "/");
alert(URLConvert);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
是否存在转换斜线的热键?
你们用什么?
有没有其他方法可以在本地转换斜杠?
你会推荐什么?
谢谢。
答案 0 :(得分:0)
问题已经是你的开始字符串了。反斜杠被解释为转义字符。所以它们不存在于字符串中。但是,如果要在HTML表单中输入路径,则字符串已经以正确的方式包含反斜杠。请看这里我的简短例子。
function convert(){
var src_url = document.getElementById("path").value;
var converted_url = src_url.replace("\\\\", "http://").replace(/\\/g, "/");
alert(converted_url);
}
&#13;
<input type="text" id="path" value="\\Public\Drive\PageLocation\">
<input type="button" value="convert" onclick="convert()">
&#13;
答案 1 :(得分:0)
你的正则表达式是完美的,问题是你正在改变的字符串。在javascript中,反斜杠(\)用于转义char。
反斜杠(\)转义字符将特殊字符转换为字符串字符...
Javascript Strings
以下是您想要做的工作示例:
<Method/>
&#13;
document.getElementById('input').onkeyup = function() {
//when someone types in the input
var v = this.value; //input's value
if (v[0] === '\\') {
//text entered is a url
// add 'http:' replace \ with /
document.getElementById('result').textContent = 'http:' + v.replace(/\\/g, '/');
} else {
//text entered is a path
// remove http or https replace / with \
document.getElementById('result').textContent = v.replace(/https?:/g, '').replace(/\//g, '\\');
}
}
&#13;