当前位置: 首页 > 知识库问答 >
问题:

如果h1 text==this那么这个就会发生[重复]

谯乐池
2023-03-14

所以我做了这个IP脚本,当你上了我的网站,它显示你的IP。

我想做的是做一个简单的IP阻止器,我想让它找到包含IP地址的标题的值作为文本,并使它使如果ipheader.text或什么==“goodip”报警(“Right IP!”);else window.location=“something”...我知道这是糟糕的JavaScript,但它只是一个示例。

这是我的当前代码。

<h3 id="testIp"></h3>

<script>
  function text(url) {
    return fetch(url).then(res => res.text());
  }

  text('https://www.cloudflare.com/cdn-cgi/trace').then(data => {
    let ipRegex = /[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/
    let ip = data.match(ipRegex)[0];
    document.getElementById('testIp').innerHTML = (ip);
  });
-->NEED HELP PAST HERE<---
  function validate() {
    if (document.getElementById("testIp").innerHTML == "The Right IP") {
      alert("RIGHT IP!");
    } else {
      alert('WRONG IP!');
    }
  }

</script>

谢谢!

共有1个答案

华欣荣
2023-03-14

您可以更改一些内容来更正代码。

  1. 转义正则表达式(\.)
  2. 中的点字
  3. 使用.textContent仅从

    中提取原始文本。

  4. 比较两个文本字符串时,始终使用三等分(===)

null

const
  PATTERN_IP_ADDRESS = /[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/,
  blockedIpAddress   = '127.0.0.1';

const fetchText = url => fetch(url).then(res => res.text());

const validate = () => {
  const testIp = document.getElementById('testIp');
  const ipAddress = testIp.textContent;

  if (ipAddress === blockedIpAddress) {
    console.log('RIGHT IP!');
  } else {
    console.log('WRONG IP!');
    testIp.classList.add('wrong');
  }
}

fetchText('https://www.cloudflare.com/cdn-cgi/trace').then(text => {
  const [ ip ] = text.match(PATTERN_IP_ADDRESS);
  document.getElementById('testIp').innerHTML = ip;
  validate();
});
.wrong { color: red; }
<h3 id="testIp"></h3>
 类似资料:
  • 14.1. Directory creation 创建目录 多个 task 依赖于现存的目录,这是常见的情况。当然,你可以在 task 前添加 mkdir 但这不是好办法,因为你只需要一次,却要不断重复代码序列(看看 DRY principle )。好的做法是在 task 间使用 dependsOn 来重用 task 创建目录 Example 14.1. Directory creation wi

  • 编辑2:谢谢所有的答案!太棒了.所以我最终决定并找到了从对象外部进行的方法,因为这是一种糟糕的实践,而且不必要地复杂

  • 假设我有4个部署文件,为此我有一个组合的服务文件,它将为所有4个服务创建服务对象(deployment.yaml)。现在我只想公开1个service pod作为NodePort服务,为此我定义了NodePort以及端口和目标端口。对于其余的3个服务,我只定义了端口和目标端口,而没有定义节点端口。问题是,在这种情况下,K8主机是否为未定义节点的3个服务的其馀部分分配了一些随机节点?service.y

  • 假设cpu读取一个截断整数的字。我已经读到,如果没有启用结构填充,CPU将不得不进行两次读取:它必须先读取前半部分,然后分别读取后半部分,然后将它们重新组合在一起进行计算。 cpu如何注意到整数(例如)已被截断?

  • 嘿,我不能正确理解这个JavaScript代码: 输出 所以我知道前四个输出的代码内部发生了什么,但无法理解最后四个输出的代码内部发生了什么,请有人详细解释最后四个输出的代码,这将对我真正有帮助。

  • 问题内容: 假设我创建了一个对象,该对象具有ID,firstName,lastName和email,用于实例变量和相应的setter / getter方法。如何,如果我不重写计算中时,它存储在集合对象的对象? 问题答案: 如果不重写hashcode(),则集合将使用Object类中的默认实现。即使根据equals()方法它们相等,此实现也会为不同的对象提供不同的值。 一些集合(例如HashSet,