JSFiddle - React, Tailwind, and code Playground
by salitrapraveen
JavaScript
$(function() {
var valIP = function(ip) {
var ipRegex = '^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})$',
oREGEXP = new RegExp(ipRegex, '');
return oREGEXP.test(ip);
};
var validateIP = function(ip) {
var ipStrs = ip.split('.'),
ipParts = [];
if (ipStrs.length !== 4) {
return false;
}
for (var i = 0; i < 4; i++) {
ipParts.push(Number(ipStrs[i]));
}
if (ipParts[0] === 127) {
//loopback address
return false;
}
if (ipParts[0] < 1 || ipParts[0] > 223) {
//not A, B, C address
return false;
}
for (var i = 1; i < 4; i++) {
//remaining parts
if (ipParts[i] < 0 || ipParts[0] > 255) {
return false;
}
}
return true;
};
var compareIP = function(ip1, ip2) {
var s1 = formatIP(ip1).split('.'),
s2 = formatIP(ip2).split('.'),
count = 0;
for (var i = 0; i < 4; i++) {
if (Number(s1[i]) < Number(s2[i])) {
return -1;
}
if (Number(s1[i]) > Number(s2[i])) {
return 1;
}
else {
count++;
}
}
if (count === 4) {
return 0;
}
};
var formatIP = function(ip){
var ipn = ip.split('.');
return ([(Number(ipn[0])), (Number(ipn[1])), (Number(ipn[2]) ), (Number(ipn[3]))].join('.'));
};
alert(validateIP(formatIP(' 192. 000168.00. 00001')));
//alert(compareIP('192.168.02.001', '192.168.000.01'));
});