IP提取器对比器

需求:

一个html 页面 ,有两个输入框 第一个输入框输入文本中包含多个ip,输入的ip是不规则的,需要使用正则表达式提取出 输入文本的ip地址 , 然后在第二个输入框中输入内容,并提取出内容的ip ,如果第一个输入框和第二个输入框中的ip有符合的 在页面中显示处理

1.输入文本框可以调大一点, 点击提取按钮后,显示三块内容,第一块显示输入文本中提取的所有ip 第二块显示输入内容提取的所有ip 第三块显示 输入文本和输入内容 中共同有的ip

html 复制代码
<!DOCTYPE html>
<html>
<head>
  <title>IP提取器</title>
  <style>
    textarea {
      width: 400px;
      height: 200px;
    }
  </style>
  <script>
    function extractIP() {
      var inputText = document.getElementById('inputText').value;
      var ipRegex = /\b(?:\d{1,3}\.){3}\d{1,3}\b/g;
      var extractedIPs = inputText.match(ipRegex);

      var inputContent = document.getElementById('inputContent').value;
      var contentIPs = inputContent.match(ipRegex);

      var matchingIPs = [];
      if (extractedIPs && contentIPs) {
        for (var i = 0; i < extractedIPs.length; i++) {
          if (contentIPs.includes(extractedIPs[i])) {
            matchingIPs.push(extractedIPs[i]);
          }
        }
      }

      document.getElementById('extractedIPs').innerText = extractedIPs ? extractedIPs.join(', ') : '无';
      document.getElementById('contentIPs').innerText = contentIPs ? contentIPs.join(', ') : '无';
      document.getElementById('matchingIPs').innerText = matchingIPs.length > 0 ? matchingIPs.join(', ') : '无';
    }
  </script>
</head>
<body>
  <h1>IP提取器</h1>

  <label for="inputText">输入文本:</label>
  <br>
  <textarea id="inputText"></textarea>

  <br><br>

  <label for="inputContent">输入内容:</label>
  <br>
  <textarea id="inputContent"></textarea>

  <br><br>

  <button onclick="extractIP()">提取IP</button>

  <br><br>

  <h3>提取的IP地址:</h3>
  <div id="extractedIPs">无</div>

  <h3>内容中的IP地址:</h3>
  <div id="contentIPs">无</div>

  <h3>共同的IP地址:</h3>
  <div id="matchingIPs">无</div>
</body>
</html>
相关推荐
头疼的程序员1 小时前
计算机网络:自顶向下方法(第七版)第三章 学习分享(二)
网络·学习·计算机网络
Blurpath住宅代理1 小时前
代理协议深度解析:HTTP与SOCKS5如何科学选型?
网络·静态ip·动态代理·住宅代理
gpio_011 小时前
自建gitlab服务器并用sakurafrp穿透
运维·服务器·gitlab
小二·1 小时前
Go 语言系统编程与云原生开发实战(第38篇)
网络·云原生·golang
爱上妖精的尾巴1 小时前
8-20 WPS JS宏 正则表达式-懒惰匹配
服务器·前端·javascript
昵称只能一个月修改一次。。。1 小时前
Linux系统编程:网络编程
linux·服务器·网络
人工智能训练1 小时前
Qwen3.5 开源全解析:从 0.8B 到 397B,代际升级 + 全场景选型指南
linux·运维·服务器·人工智能·开源·ai编程
野犬寒鸦1 小时前
TCP协议核心:TCP详细图解及TCP与UDP核心区别对比(附实战解析)
服务器·网络·数据库·后端·面试
linuxxx1101 小时前
让openclaw使用系统命令:“rm“, “mkdir“, “touch“, “ls“, “cat“, “echo“
linux·服务器·windows
草莓熊Lotso1 小时前
MySQL 数据库基础入门:从概念到实战
linux·运维·服务器·数据库·c++·人工智能·mysql