生活中我们会遇到很多需要输入域名的查询框,例如我们所熟知的腾讯网址安全检测,站长之家SEO查询等,实际上萌国ICP备案的查询页面也存在一个查询框,而且某种程度上而言并不“完美”,例如以下场景
洛娜娜爆炒栗子在线直播:https://domainname.linguistics/videoshare/?q=114514 *激情四射666
于是我们就需要一个简单的域名匹配算法
var inputElement = document.querySelector(".search-form input[name='keyword']");
document.querySelector(".search-form").addEventListener("submit", function(event) {
var keyword = inputElement.value.trim(); // 去除首尾空格
// 先截断到http或https的位置
var startIndex = keyword.indexOf("http");
if (startIndex !== -1) {
keyword = keyword.substring(startIndex);
}
// 匹配并提取域名部分
var domainMatch = keyword.match(/^(?:https?:\/\/)?(?:[^/]*@)?([^:/?#]+)/i);
if (domainMatch) {
var extractedDomain = domainMatch[1];
inputElement.value = extractedDomain;
//console.log("提取的域名部分:", extractedDomain);
}
});
https://travel.moe/search.html
野兽先辈 trim 一下然后正则匹配,http打头,可以没有s,按分组捕获的。 但是那个@没有看懂,为啥url里还匹配@应该是http身份认证之类的吧