JSFiddle - React, Tailwind, and code Playground
HTML
<p>Простое тестовое задание на вакансию <a href="http://krawlly.com/vacancies/js.html">"JavaScript разработчик"</a>.
</p>
<script>
//Есть HTML страница, в ней следующая часть:
var html= '<table border=1>\
<tr>\
<th class = caption2 > Текущий тариф </th>\
<td> 299 </td>\
</tr>\
<tr>\
<th class="caption2">\
Текущий баланс\
</th>\
<td class = "bad caption2"\
title = "Для включения услуги баланс должен быть > 0!" >\
−100.33 <span class="currency">руб.</span>\
</td>\
</tr>\
<tr>\
<th class="caption2">\
Обещаный платёж\
</th>\
<td class = "caption2">\
100 <span class="currency">руб.</span>\
</td>\
</tr>\
<tr>\
<th class="caption2">\
Бонусных баллов\
</th>\
<td class = "good">\
77\
</td>\
</tr>\
</table>';
document.write(html);
</script>
<p><u>Требования к реализации</u>. Необходимо написать js-код с использованием регулярного выражения, который из переменной <tt>html</tt> получит значение баланса (сделайте приведение типа значения к числу) и выведет его в консоль браузера. Значение баланса может быть любым числом: отрицательным, положительным, целым, дробным. Использовать методы, работающие с DOM браузера нельзя.</p>
<p><u>Требования к качеству</u>. Код не должен выдавать ошибку при незначительных изменениях во входящем html (добавление/изменение/удаление атрибутов тегов и их значений). При значительных изменениях в html баланс захватить может не получиться, в этом случае необходимо переменной баланса присвоить <tt>null</tt>.</p>
<p>Присылайте ссылку на JSFIDDLE с выполненным заданием на <a href="mailto:[email protected]">[email protected]</a> вместе с резюме.</p>
CSS
.bad {
color: red;
}
.good {
color: green;
}
.currency {
color: blue;
}
JavaScript
var searchSplit= html.split( /Текущий баланс/i );
var searchSplit2= searchSplit[1].split('td');
var searchSplit3= searchSplit2[1].split('">');
var searchSplit5= searchSplit3[1].split('<');
var resultString = searchSplit5[0].replace(/\s+/g,' ');
//var regexp = /\d/;
//regexp.lastIndex = searchIndex.index;
var resultBalance = parseFloat(resultString.replace("−", "-"));
//var searchZislo = regexp.exec(resultString);
console.log(resultBalance);