blinksocks/lib/utils/validator.js
2019-02-13 13:18:48 +08:00

35 lines
675 B
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isValidHostname = isValidHostname;
exports.isValidPort = isValidPort;
function isValidHostname(hostname) {
if (typeof hostname !== 'string') {
return false;
}
if (hostname.length < 1 || hostname.length > 253) {
return false;
}
if (/^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i.test(hostname) === false) {
return false;
}
if (/^[^.]{1,63}(\.[^.]{1,63})*$/.test(hostname) === false) {
return false;
}
return true;
}
function isValidPort(port) {
if (!Number.isInteger(port)) {
return false;
}
return !(port <= 0 || port >= 65535);
}