限制输入框只能输入IP,当点击数字时,自动选中整段
let inputs = document.querySelectorAll('input');
inputs.forEach((input)=>{
input.addEventListener('input', (event) => {
console.log(event);
let value = event.target.value;
let ip = [0,0,0,0]
let ip_split = value.split('.');
for(let i = 0; i < ip.length; i++){
let block = 0;
if (ip_split[i]===undefined){
ip[i] = 0;
continue;
}
block = parseInt(ip_split[i]);
console.log(block,block===NaN);
block = isNaN(block) ? 0 : block;
block = block > 255 ? 255 : block;
block = block < 0 ? 0 : block;
ip[i] = block;
}
ip[0] = ip[0] == 0 ? 1 : ip[0];
event.target.value = ip.join('.');
});
input.onclick = (event) => {
let value = event.target.value;
let start = event.target.selectionStart;
let end = event.target.selectionEnd;
while (!isNaN(parseInt(value[start-1]))){
console.log(value[start-1],isNaN(parseInt(value[start-1])))
start--;
};
while (!isNaN(parseInt(value[end]))){
console.log(value[end],isNaN(parseInt(value[end])))
end++;
};
event.target.selectionStart = start;
event.target.selectionEnd = end ;
console.log(start,end);
}