JSFiddle - React, Tailwind, and code Playground

by Anatoly Kulikov

HTML

<main>
  <input type="search" id="filter">
  <div class="searchable">
    <div class="RatingTable">
      <h3>Юноши / Байдарка / 2003-2004</h3>
      <table width="483">
        <tbody>
          <tr>
            <td width="293">ФИО Спортстмена</td>
            <td width="190">Количество очков</td>
          </tr>
          <tr>
            <td>Сергеев Кирилл</td>
            <td>25</td>
          </tr>
          <tr>
            <td>Астахов Артём</td>
            <td>23</td>
          </tr>
          <tr>
            <td>Хужий Захар</td>
            <td>21</td>
          </tr>
          <tr>
            <td>Агеев Богдан</td>
            <td>19</td>
          </tr>
          <tr>
            <td>Касьянов Кирилл</td>
            <td>14</td>
          </tr>
          <tr>
            <td>Гришанов Михаил</td>
            <td>14</td>
          </tr>
          <tr>
            <td>Мацко Игорь</td>
            <td>14</td>
          </tr>
          <tr>
            <td>Агеев Арсений</td>
            <td>14</td>
          </tr>
          <tr>
            <td>Бродягин Артём</td>
            <td>9</td>
          </tr>
          <tr>
            <td>Соколов Владимир</td>
            <td>9</td>
          </tr>
          <tr>
            <td>Чирков Валерий</td>
            <td>9</td>
          </tr>
          <tr>
            <td>Авдеев Дмитрий</td>
            <td>9</td>
          </tr>
          <tr>
            <td>Иванов Кирилл</td>
            <td>9</td>
          </tr>
          <tr>
            <td>Кочнев Максим</td>
            <td>9</td>
          </tr>
          <tr>
            <td>Юрченко Даниил</td>
            <td>9</td>
          </tr>
          <tr>
            <td>Малыгин Игорь</td>
            <td>9</td>
          </tr>
          <tr>
            <td>Пономарев Андрей</td>
            <td>5</td>
          </tr>
          <tr>
            <td>Дмитриев Даниил</td>
            <td>5</td>
          </tr>
          <tr>
            <td>Курашов Дмитрий</td>
       ...

SCSS

.RatingTable {
    display: block;
    width: 100%;
    margin-bottom: 21px;
    padding: 10px;
    
    h3 {
        display: block;
        width: 100%;
        margin-bottom: 14px;
        font-size: 30px;
        font-weight: 700;
        color: $Blue600;
    }
    
    table {
        width: 100%;
        font-size: 20px;
        border-radius: 2px;
        background: #fcfcfc;
        
        tr {
            cursor: default;
            transition: all linear 0.2s;
        }
        
        tr:first-of-type {
            font-weight: 700;
            
            td {
                border-bottom: $Grey200 solid 1px;
            }
        }
        td {
            width: auto;
            padding: 10px;
        }
        tr:hover {
            background: $BlueGrey50;
        }
        tr:first-of-type:hover {
            background: #fcfcfc;
        }
    }
}

JavaScript

$('#filter').keyup(function() {

  var rex = new RegExp('.*(' + $(this).val() + ')+.*', 'i');
  $('.searchable table tbody tr').hide();
  $('.searchable table tbody tr').filter(function() {
    return rex.test($(this).text().replace(/[^\wа-яё]+/gi, ""));
  }).show();

})