function resolveIp(str) {
const result = []
if (str.length < 4 && str.length > 12) {
return result
}
for (let a = 1; a < 4; a++) {
for (let b = 1; b < 4; b++) {
for (let c = 1; c < 4; c++) {
const d = str.length - a - b - c
if (d >= 1 && d <= 3) {
const one = str.substring(0, a)
const tow = str.substring(a, a + b)
const there = str.substring(a + b, a + b + c)
const four = str.substring(a + b + c)
if (isValid(one) && isValid(tow) && isValid(there) && isValid(four)) {
result.push(`${one}.${tow}.${there}.${four}`)
}
}
}
}
}
return result
}
function isValid (str) {
// 1. 值等于0 的时候 长度为1
const one = +str === 0 && str.length === 1
// 2.值大于0 第一个字符不能为0
const two = +str > 0 && str.charAt(0) !== '0'
// 值要小于等于255
const there = +str <= 255
return (one || two) && there
}
const result1 = resolveIp('2552551125')
const result2 = resolveIp('1110110')
console.log('result1', result1)
console.log('result2', result2)
js从字符串找到一个合法的ip
最新推荐文章于 2023-02-17 16:13:51 发布