Помогите изменить фильтр текста чтобы он не учитывал символ
Добрый день. Есть функция поиска по таблице, которая просто находит совпадения и выдает результат:
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <input type="text" id="myInput" placeholder="Введите данные для поиска по таблице"></br></br> <table class="table" id="table" border="1"> <thead id ="myTableHead" > <tr> <th scope="col">ФИО</th> <th scope="col">Номер</th> </tr> </thead> <tbody id="myTable"> <tr> <td class="text-center">ФИО</td> <td class="text-center">Человек. №1</td> </tr> <tr> <td class="text-center">ФИО</td> <td class="text-center">Человек №2</td> </tr> </tbody> </table> <script> $(document).ready(function(){ filterTable(); }); function filterTable(){ $("#myInput").on("keyup", function() { var value = $(this).val().toLowerCase(); $("#myTable tr").filter(function() { $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1); }); }); } </script> Нужно чтобы поиск не учитывал знаки [№] и [.] . Например в поиске можно просто ввести Человек 1 , и он бы нашел в таблице Человек. №1. То есть совпадения по пробелу оставить, а именно № и точку чтобы мог игнорить. Но если в поиске они введены то находил бы.:-? |
Цитата:
- анализировать строку поска - находить там цифры и менять на №?<цифра>\.? - потом выполнять поиск в тексте Т.е. делать нужное регулярное выражение, а потом им выполнять поиск. |
Artur_Hopf,
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <input type="text" id="myInput" placeholder="Введите данные для поиска по таблице"></br></br> <table class="table" id="table" border="1"> <thead id ="myTableHead" > <tr> <th scope="col">ФИО</th> <th scope="col">Номер</th> </tr> </thead> <tbody id="myTable"> <tr> <td class="text-center">ФИО</td> <td class="text-center">Человек. №1</td> </tr> <tr> <td class="text-center">ФИО</td> <td class="text-center">Человек №2</td> </tr> </tbody> </table> <script> $(function(){ filterTable(); }); function filterTable(){ $("#myInput").on("input", function() { var value = $(this).val().toLowerCase(); value = value.replace(/\s+/g,"[\\s\\S]+?"); value = new RegExp(value); $("#myTable tr").filter(function() { !value||$(this).toggle(value.test($(this).text().toLowerCase())); }); }); } </script> |
Спасибо большое :thanks:
|
Часовой пояс GMT +3, время: 17:22. |