题解 | #合法IP#
合法IP
https://www.nowcoder.com/practice/995b8a548827494699dc38c3e2a54ee9
const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () => (await iter.next()).value; void async function () { while(line = await readline()){ let status = 'YES'; //判断除了数字和 . 以外有没有其他字符 if(/[^0-9\.]/.test(line)) status = 'NO'; // .的个数为3 let arrOfdot = line.split('').filter(i => i === '.'); if(arrOfdot.length !== 3) status = 'NO'; //以.拆分得到的数组每个位置不能为空字符串 // 每个数在0-255之间 // 每个数如果大于0的时候不能以0开头 let arr = line.split('.'); arr.forEach(item => { if(item.length === 0) return status = 'NO'; if(Number(item) < 0 || Number(item) > 255) return status = 'NO'; if(Number(item) > 0 && item.startsWith(0)) return status = 'NO'; }) console.log(status); } }()