有人可以帮助我修复此小代码,以将协议“ http://”或“ https://”添加到仅包含以“ www”开头的相对URL的URL
<script>
function formatUrl(url)
{
var httpString = "http://";
var httpsString = "https://";
if (url.substr(0, httpString.length).toLowerCase() !== httpString && url.substr(0, httpsString.length).toLowerCase() !== httpsString)
url = httpString + url;
return url;
}
</script>
<form id=url type=get action='answers.asp' >
<input type=text name=URL size=10 value="" ><br><br>
<input type=submit name=url2 **onclick="formatUrl()"** value="Enter Url">
</form>
输入值= www.elmundo.es或任何其他以www开头的相对网址
先谢谢您
答案 0 :(得分:-1)
实际上这是一个非常简单的任务:
function formatURL(url)
{
if(url.substr(0,3) === "www")
{
return "https://"+url;
}
return url;
}
您可以添加一些其他的故障安全检查(如果url小于3)-但是通常您可以检查url是否以www开头,如果是,则只需向其中添加所需的协议(如果我理解您的问题)。
啊,我想我现在明白了你的要求。
<script>
function formatURL()
{
var url = document.getElementsByName("URL")[0];
var formattedURL = document.getElementsByName("formattedURL")[0];
url = url.value;
if(url.substr(0,3) === "www")
{
formattedURL.value = "https://"+url;
return;
}
formattedURL.value = url;
}
</script>
<form id=url type=get action='answers.asp'>
<input type="text" name="URL" size=10 value="" onchange="formatURL()"><br><br>
<input type="hidden" name="formattedURL">
<input type="submit" value="Enter Url">
</form>
这将把URL设置为隐藏字段formattedURL
的格式-但是,仅当您真的想完全使用Javascript进行此操作时,才可以设置该URL。我将亲自在服务器端执行此操作。