2017-03-02 32 views
0

我有以下生成一些链接的HTML/jQuery代码。将验证集成到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> 

二号搜索链接,我期待实施变更wherby如果输入的值是一个IP地址,则URI已更改。例如

document.getElementById("link2").href = "http://example.com/ipsearch.php?ip=" + this.value; 

我只是不知道从哪里开始进行此更改。

任何帮助将不胜感激。

回答

1

也许是这样的:

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。

+0

谢谢你!这是一种享受! – Kev