将验证集成到jQuery函数中

时间:2017-03-02 22:29:37

标签: javascript jquery html validation ip-address

我有以下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地址,我希望实现更改wherby,然后更改URI。 e.g。

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

我只是不知道从哪里开始这个改变。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分: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。