最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

RegExp为什么我的IP服务器搜索失败

IT培训 admin 15浏览 0评论

RegExp为什么我的IP服务器搜索失败

我正在尝试解决此问题:

编写一种算法,该算法将以点十进制格式标识有效的IPv4地址。如果IP由四个八位字节组成,且其值介于0和255之间(含0和255),则应将其视为有效。

请注意,前导零(例如01.02.03.04)被视为无效。

好:1.2.3.4

错误:1.2.3256.1.1.1a11 / .1.1。

我的解决方案通过了331次测试,但未通过6次,但我不知道为什么。

function isValidIP(str) {
  if(str.length === 0) return false;
  let newReg1 = new RegExp(/^0\.0\.0\.0$/);
  let newReg = new RegExp(/^[1-9]\d{0,2}\.[1-9]\d{0,2}\.[1-9]\d{0,2}\.[1-9]\d{0,2}$/);

  let newArr = str.split('.');


  for (let i = 0; i < newArr.length; i++){
    if(newArr[i] > 255)
      return false;
  }

  if(newReg.test(str) === true || newReg1.test(str) === true){
      return true;
  } else {
      return false;
  }

}

而且我不知道是否有办法检查它们为什么失败。

回答如下:

您可以打印失败的6个测试吗?

在我看来,newReg也不会接受尾随零,尽管它们是有效的地址号:10.20.30.40也不会通过仅接受1-9的正则表达式。

RegExp为什么我的IP服务器搜索失败

我正在尝试解决此问题:

编写一种算法,该算法将以点十进制格式标识有效的IPv4地址。如果IP由四个八位字节组成,且其值介于0和255之间(含0和255),则应将其视为有效。

请注意,前导零(例如01.02.03.04)被视为无效。

好:1.2.3.4

错误:1.2.3256.1.1.1a11 / .1.1。

我的解决方案通过了331次测试,但未通过6次,但我不知道为什么。

function isValidIP(str) {
  if(str.length === 0) return false;
  let newReg1 = new RegExp(/^0\.0\.0\.0$/);
  let newReg = new RegExp(/^[1-9]\d{0,2}\.[1-9]\d{0,2}\.[1-9]\d{0,2}\.[1-9]\d{0,2}$/);

  let newArr = str.split('.');


  for (let i = 0; i < newArr.length; i++){
    if(newArr[i] > 255)
      return false;
  }

  if(newReg.test(str) === true || newReg1.test(str) === true){
      return true;
  } else {
      return false;
  }

}

而且我不知道是否有办法检查它们为什么失败。

回答如下:

您可以打印失败的6个测试吗?

在我看来,newReg也不会接受尾随零,尽管它们是有效的地址号:10.20.30.40也不会通过仅接受1-9的正则表达式。

发布评论

评论列表 (0)

  1. 暂无评论