1 |
|
2 |
|
3 | let isWildcard = require('./is_wildcard')
|
4 |
|
5 | // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
|
6 | function escapeRegExp (string) {
|
7 | return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') // $& means the whole matched string
|
8 | }
|
9 |
|
10 | module.exports = function (wildcard, hostname) {
|
11 | if (!isWildcard(wildcard)) {
|
12 | return false
|
13 | }
|
14 |
|
15 | let baseDomain = wildcard.substring(2)
|
16 | let regex = new RegExp(`^[a-zA-Z0-9_-]+\\.${escapeRegExp(baseDomain)}$`)
|
17 | return hostname.match(regex)
|
18 | }
|