2013-05-28 3 views
0

Мне нужна помощь в создании регулярного выражения.нужна помощь по регулярному выражению

У меня есть массив доменных имен и массив TLD (довольно длинный). пример:

tlds = { 
    '.com':{ 
     1 : '£4.00', 
     2 : '£7.50', 
     3 : '£11.00', 
     4 : '£14.50', 
     5 : '£18.00', 
    }, 
    '.org':{ 
     1 : '£5.00', 
     2 : '£10.00', 
     3 : '£15.00', 
     4 : '£20.00', 
     5 : '£25.00', 
    }, 
    '.net':{ 
     1 : '£6.00', 
     2 : '£12.00', 
     3 : '£18.00', 
     4 : '£24.00', 
     5 : '£30.00', 
    }, 
    '.co.uk':{ 
     1 : '£7.00', 
     2 : '£14.00', 
     3 : '£21.00', 
     4 : '£28.00', 
     5 : '£35.00', 
    }, 
    '.com.br':{ 
     1 : '£9.00', 
     2 : '£16.00', 
     3 : '£22.00', 
     4 : '£28.00', 
     5 : '£34.00', 
    } 
} 

domainResults = { 
    0 : { 
     'domain' : 'anything.com', 
     'status' : 'available' 
    }, 
    1 : { 
     'domain' : 'anything-weird.org', 
     'status' : 'available' 
    }, 
    2 : { 
     'domain' : 'anything-amazing.co.uk', 
     'status' : 'available' 
    } 
} 

Для каждого доменного имени я хочу назначить правильный tld. Каждое из доменных имен в массиве всегда соответствует одному из TLD.

Я думаю, что решение должно зацикливаться на каждом TLD как REGEX, пока оно не совпадёт с именем домена, которое я перебираю.

Я знаю, что это будет сложно, потому что у меня всегда есть как минимум 26 TLD, и я хочу убедиться, что ни один из них не соответствует другому, чтобы предотвратить неправильное отображение цены (например: доменное имя, заканчивающееся на .com. br 'никогда не должен быть результатом регулярного выражения' .com ', но только для tld' .com.br ').

Любая помощь приветствуется, спасибо.

+3

Почему вы не просто проверить, если домен заканчивается TLD? –

+0

Это похоже на данные JSON для меня, вы можете сделать это намного проще для себя, используя его правильно. – melwil

+1

@melwil Здесь нет JSON. –

ответ

0

предполагая там нет поддомен часть в доменной строке

for(var index in domainResults){ 
    var domain = domainResults[index].domain; 
    var tld = domain.substring(domain.indexOf(".")); 
    // now tlds[tld] gives the corresponding tld object 
    console.log(tlds[tld]); 
} 
Смежные вопросы