net_uv: add isIP
Issue #1270: Doesn't completely pass test/simple/test-net-isip.js yet.
This commit is contained in:
parent
f6fa20fd55
commit
38f3bf6610
@ -540,3 +540,35 @@ function onconnection(clientHandle) {
|
||||
Server.prototype.close = function() {
|
||||
this._handle.close();
|
||||
};
|
||||
|
||||
|
||||
// TODO: isIP should be moved to the DNS code. Putting it here now because
|
||||
// this is what the legacy system did.
|
||||
exports.isIP = function(input) {
|
||||
if (!input) {
|
||||
return 4;
|
||||
} else if (/^(\d?\d?\d)\.(\d?\d?\d)\.(\d?\d?\d)\.(\d?\d?\d)$/.test(input)) {
|
||||
var parts = input.split('.');
|
||||
for (var i = 0; i < parts.length; i++) {
|
||||
var part = parseInt(parts[i]);
|
||||
if (part < 0 || 255 < part) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return 4;
|
||||
} else if (/^(::)?([a-fA-F0-9]+(::?)?)*$/.test(input)) {
|
||||
return 6;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
exports.isIPv4 = function(input) {
|
||||
return TCP.isIP(input) === 4;
|
||||
};
|
||||
|
||||
|
||||
exports.isIPv6 = function(input) {
|
||||
return TCP.isIP(input) === 6;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user