【问题标题】:Integrate validation into jQuery function将验证集成到 jQuery 函数中
【发布时间】:2017-07-22 21:01:31
【问题描述】:

我有以下生成一些链接的 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;

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

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript jquery html validation ip-address


    【解决方案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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多