我有以下生成一些链接的 HTML/jQuery 代码。
HTML
<input type="text" id="text" placeholder="Enter text" autofocus />
<a id="link1" class="btn btn-info" href="#" target="_blank"> Search 1 </a>
<a id="link2" class="btn btn-info" href="#" target="_blank"> Search 2 </a>
<a id="link3" class="btn btn-info" href="#" target="_blank"> Search 3 </a>
jQuery
<script>
window.onload = function(){
var sel = document.getElementById('text');
sel.onchange = function () {
document.getElementById("link1").href = "http://example.com/action?queryString=" + this.value;
document.getElementById("link2").href = "http://example.com/searchall.php?search=" + this.value;
document.getElementById("link3").href = "http://example.com/dashboard.aspx?term=" + this.value;
document.getElementById("text").focus();
}
};
</script>
在第二个搜索链接上,我希望实现一项更改,如果输入的值是 IP 地址,则更改 URI。例如
document.getElementById("link2").href = "http://example.com/ipsearch.php?ip=" + this.value;
我只是不知道从哪里开始进行此更改。
任何帮助将不胜感激。
最佳答案
也许是这样的:
sel.onchange = function () {
var value = this.value;
var isIP = /^(([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)\.){3}([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)$/.test(value);
if (isIP) {
document.getElementById("link2").href = "http://example.com/ipsearch.php?ip=" + value;
} else {
document.getElementById("link2").href = "http://example.com/searchall.php?search=" + value
}
};
这使用正则表达式来确定是否输入了 IP,以及是否设置了不同的 URL。
关于javascript - 将验证集成到 jQuery 函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42567232/