uni-ticket-system/node_modules/licia/isIp.js
2023-12-05 10:11:10 +08:00

55 lines
1.5 KiB
JavaScript

exports = function(str) {
return exports.v4(str) || exports.v6(str);
};
var v4 =
'(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}';
var regV4 = new RegExp('^'.concat(v4, '$'));
var v6seg = '[a-fA-F\\d]{1,4}';
var v6 = [
'(',
'(?:'.concat(v6seg, ':){7}(?:').concat(v6seg, '|:)|'),
'(?:'
.concat(v6seg, ':){6}(?:')
.concat(v4, '|:')
.concat(v6seg, '|:)|'),
'(?:'
.concat(v6seg, ':){5}(?::')
.concat(v4, '|(:')
.concat(v6seg, '){1,2}|:)|'),
'(?:'
.concat(v6seg, ':){4}(?:(:')
.concat(v6seg, '){0,1}:')
.concat(v4, '|(:')
.concat(v6seg, '){1,3}|:)|'),
'(?:'
.concat(v6seg, ':){3}(?:(:')
.concat(v6seg, '){0,2}:')
.concat(v4, '|(:')
.concat(v6seg, '){1,4}|:)|'),
'(?:'
.concat(v6seg, ':){2}(?:(:')
.concat(v6seg, '){0,3}:')
.concat(v4, '|(:')
.concat(v6seg, '){1,5}|:)|'),
'(?:'
.concat(v6seg, ':){1}(?:(:')
.concat(v6seg, '){0,4}:')
.concat(v4, '|(:')
.concat(v6seg, '){1,6}|:)|'),
'(?::((?::'
.concat(v6seg, '){0,5}:')
.concat(v4, '|(?::')
.concat(v6seg, '){1,7}|:))'),
')(%[0-9a-zA-Z]{1,})?'
].join('');
var regV6 = new RegExp('^'.concat(v6, '$'));
exports.v4 = function(str) {
return regV4.test(str);
};
exports.v6 = function(str) {
return regV6.test(str);
};
module.exports = exports;