服务器搜索失败"/>
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服务器搜索失败
发布评论