javascript - 将验证集成到 jQuery 函数中

标签 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 地址,则更改 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/

相关文章:

jquery - 动画提交按钮的值变化

jquery - 有一个带有复选框的 jsTree,如何禁用所有复选框?

javascript - 如何使用 animate 和scrollTop 将浏览器窗口的滚动条或 div 滚动条设置为增量滚动?

javascript - 下拉子菜单不会保持打开状态

javascript - 如何使用 JS/jQuery 将 HTML 元素的 ID 设置为等于其内部文本?

javascript - 在 node.js 的 jobschedule 中传递一个额外的参数

javascript - HTML:在滚动过程中越过固定在页面顶部的粘性文本时屏幕断断续续

javascript - 如何在 react.js 的 Jest 测试中触发 Pubsub.js 事件

java - jsp 上的 Struts 2 Action 响应

javascript - 使用 jQuery 获取 div 中每个图像的源