insubnet
Version:
Check an IP(v4 or v6) against a subnet.
62 lines (55 loc) • 2.1 kB
HTML
<script src="./insubnet.js"></script>
<script>
var subTests = [
["1.2.3.4","1.2.0.0","16"],
["1.3.2.4","1.2.0.0","16"],
["192.168.255.14","192.168.255.0","27"],
["192.168.255.143","192.168.255.0","27"],
["2400:cb00::123","2400:cb00::","32"],
["2606:4700::123","2400:cb00::","32"],
];
var ipTests = [
"1.2.3.4",
"1.3.2.4",
"999.999.999.999",
"2400:cb00::123",
"2606:4700::asd",
"2001:DB8::8:800:200C:417A",
"::1",
"afd::1",
"2400:cb00:0000:0000:0000:0000:0000:0123",
"2606:4700:0000:0000:0000:0000:0000:0asd",
"0000:0000:0000:0000:0000:0000:0000:0001",
"0afd:0000:0000:0000:0000:0000:0000:0001",
"Not an IP!",
];
window.onload = function () {
var out = document.getElementById("out");
out.innerHTML = "inSubnet - v"+inSubnet.version+"<br />";
out.innerHTML += "<br />--- Subnet Validation (Auto) ---<br />";
subTests.forEach(function(test) {
out.innerHTML += "Auto: "+test[0]+" in "+test[1]+"/"+test[2]+": "+inSubnet.Auto(test[0],test[1],test[2])+"<br />";
});
out.innerHTML += "<br />--- Subnet Validation (Specified) ---<br />";
subTests.forEach(function(test) {
if (test[0].indexOf(':') == -1) {
out.innerHTML += "IPv4: "+test[0]+" in "+test[1]+"/"+test[2]+": "+inSubnet.IPv4(test[0],test[1],test[2])+"<br />";
} else {
out.innerHTML += "IPv6: "+test[0]+" in "+test[1]+"/"+test[2]+": "+inSubnet.IPv6(test[0],test[1],test[2])+"<br />";
};
});
out.innerHTML += "<br />--- IP Validation ---<br />";
ipTests.forEach(function(test) {
out.innerHTML += "isIP: "+test+": "+inSubnet.isIP(test)+"<br />";
});
out.innerHTML += "<br />--- IPv4 Validation ---<br />";
ipTests.forEach(function(test) {
out.innerHTML += "isIPv4: "+test+": "+inSubnet.isIPv4(test)+"<br />";
});
out.innerHTML += "<br />--- IPv6 Validation ---<br />";
ipTests.forEach(function(test) {
out.innerHTML += "isIPv6: "+test+": "+inSubnet.isIPv6(test)+"<br />";
});
};
</script>
<div id="out"></div>