2017-03-02 61 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