Zum Hauptinhalt springen
claw
am
tools
Werkzeuge
Dokumente
Daoark
EN
Startseite
Startseite
/
Calculadora
›
Startseite
manifest.json
255 || String(v) !== parts[i].trim()) { throw new Error('每段必须是 0-255 整数'); } n = n * 256 + v; } return n; } function longToIp(n) { if (!Number.isFinite(n) || n < 0 || n > 0xFFFFFFFF || Math.floor(n) !== n) { throw new Error('数字必须是 0-4294967295 的整数'); } n = n >>> 0; // 转无符号 return [(n >>> 24) & 0xFF, (n >>> 16) & 0xFF, (n >>> 8) & 0xFF, n & 0xFF].join('.'); } function doProcess() { try { var textA = getVal('text-a').trim(); if (!textA) { showError('请输入'); return; } var op = getVal('op'); var isIp = /^\d+\.\d+\.\d+\.\d+$/.test(textA); var isNum = /^\d+$/.test(textA); var out, info; if (op === 'to-long') { var n = ipToLong(textA); out = String(n); info = '十进制 ' + n + ' (0x' + n.toString(16).toUpperCase().padStart(8, '0') + ')'; } else if (op === 'to-ip') { var v = parseInt(textA, 10); out = longToIp(v); info = 'IPv4 ' + out; } else if (op === 'auto') { if (isIp) { var n2 = ipToLong(textA); out = String(n2); info = '自动识别: IP → 长整型 ' + n2; } else if (isNum) { var v2 = parseInt(textA, 10); out = longToIp(v2); info = '自动识别: 数字 → IP ' + out; } else { showError('无法识别输入(需要 IPv4 或纯数字)'); return; } } else { showError('未知操作'); return; } showResult(out, info); } catch (e) { showError('转换失败: ' + (e.message || e)); } } $('btn-main').addEventListener('click', function(e) { e.preventDefault(); doProcess(); }); $('btn-clear').addEventListener('click', function() { var inputs = document.querySelectorAll('input,textarea,select'); for (var i = 0; i < inputs.length; i++) { if (inputs[i].tagName === 'SELECT') inputs[i].selectedIndex = 0; else inputs[i].value = ''; } var ra = $('result-area'); ra.hidden = true; ra.style.display = 'none'; var em = $('error-msg'); em.hidden = true; em.style.display = 'none'; }); })();