问题描述
基本上我想知道如何构建代码片段,以便当用户输入文本并单击提交按钮时。自动添加 https://
作为前缀和 .com
作为后缀,并使用 javascript 构建有效的 url。该结果应该在表单正下方可见。
谁能帮帮我
解决方法
伙伴,我不知道你是否知道这一点,但并非所有网站都以“.com”结尾,其中一些网站可能以“.edu”、“.in”、“.io”、“.org”等结尾. 另外,一些 URL 以“blob:https://”开头,诸如此类。我认为您可能需要一个 API。
,是的,这是可能的,您只需在输入上添加一个 keyup
或 change
事件侦听器,然后将输入中的文本与您需要的内容连接起来。举个例子:
// HTML
<div class="container">
<input type="url" id="url-maker" />
<p class="url-output"></p>
</div>
// JS
const urlInput = document.getElementById('url-maker');
const urlOutput = document.querySelector('.url-output');
urlInput.addEventListener('keyup',(event) => {
let urlText = event.target.value;
if (!urlText.includes('https://')) {
urlText = `https://${urlText}`;
}
if (!urlText.includes('.')) {
urlText = `${urlText}.com`;
}
urlOutput.innerText = urlText;
});
但是,您确实需要正确验证字符串,并记住域以除 .com
之外的其他扩展名结尾!我向您展示的只是一个基本示例!
试试这个,它接受输入并通过添加 https:// 和 .com 将其转换为链接
要看到它在这里工作,只需输入输入:stackoverflow。如果你想在其他网站上测试它,请复制并在本地使用代码。
function urlMaker(){
var linkVal=document.getElementById("inputText").value;
var href = document.getElementById('aLink').href="https://"+linkVal+".com";
document.getElementById("aLink").innerHTML = href;
}
<input name="inputTxt" type="text" id="inputText">
<button onclick="urlMaker()">Get Link</button>
<br><br>
<a href="#" id="aLink"></a>