Как использовать Regex, сняв отметку со всех файлов по форматам файлов

мне нужно снять отметку со многих файлов с этого HTML с JQueryHTML:

<div class = "well">
  <h2>Select you files</h2>
  <table id = "list-files" class = "table table-bordered table-striped table-condensed table-hover">
    <tbody>
      <tr>
        <th width = "10px"><input type = "checkbox" id = "select-all-files" checked = "checked"></th>
        <th>File</th>
        <th>Size</th>
      </tr>
      <tr class = "selectedFiles" style = "display: table-row;">
        <td><input type = "checkbox" name = "files[]" value = "0" checked = ""></td>
        <td>
          <div><span class = "pull-left">The.Blind.Side.2009.1080p.BluRay.x264.DTS-FGT/</span><span style = "padding-top:1px;padding: 0 2px;display:block;overflow:hidden"><input style = "width:100%;color:#c8c8c8;background-color:transparent;padding:0px;margin:0px" type = "text" name = "rename[0]" value = "Visit thist Web.com.txt"></span></div>
        </td>
        <td>34.0 iB</td>
      </tr>
      <tr class = "selectedFiles" style = "display: table-row;">
        <td><input type = "checkbox" name = "files[]" value = "1" checked = ""></td>
        <td>
          <div><span class = "pull-left">The.Blind.Side.2009.1080p.BluRay.x264.DTS-FGT/</span><span style = "padding-top:1px;padding: 0 2px;display:block;overflow:hidden"><input style = "width:100%;color:#c8c8c8;background-color:transparent;padding:0px;margin:0px" type = "text" name = "rename[1]" value = "The.Blind.Side.2009.1080p.BluRay.x264.DTS-FGT.mkv"></span></div>
        </td>
        <td>8.8 GiB</td>
      </tr>
      <tr class = "selectedFiles" style = "display: table-row;">
        <td><input type = "checkbox" name = "files[]" value = "2" checked = ""></td>
        <td>
          <div><span class = "pull-left">The.Blind.Side.2009.1080p.BluRay.x264.DTS-FGT/</span><span style = "padding-top:1px;padding: 0 2px;display:block;overflow:hidden"><input style = "width:100%;color:#c8c8c8;background-color:transparent;padding:0px;margin:0px" type = "text" name = "rename[2]" value = "The.Blind.Side.2009.1080p.BluRay.x264.DTS-FGT.nfo"></span></div>
        </td>
        <td>5.4 KiB</td>
      </tr>
    </tbody>
  </table>
</div>

СЦЕНАРИЙ:

var inp=$("tr input");
var r = "Visit thist Web.com.txt";
for (i = 0; i < inp.length; i++) {
 if (inp[i].value == r){
  inp[i-1].checked = false;
 }
}

How to improve this code?

Этот script снимает отметку только с var r = "Visit thist Web.com.txt";, и мне нужно снять отметку со всех файлов с .текст! правда, в этом примере только один .txt, но он обычно меняется, даже порядок. Я также хотел бы снять отметку с файлов .nfo, .url, jpg, gif, поэтому я полагаю, что было бы лучше сделать это с помощью регулярного выражения.

для tampermonkey на chrome

Благодарить

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать функцию JQuery filter с регулярным выражением. Регулярное выражение:

/\.txt$/gi

Регулярное выражение будет соответствовать литеральной строке: '.txt' в конце.

Как пользоваться:

var inp=$("tr input").filter( function (index)
{
    return /\.txt$/gi.test($(this).val());
}).closest('tr').find('td:first-child input').prop('checked', false);

Это установит свойство checked в false для совпадающих элементов.

Чтобы снять отметку с других типов файлов, вы можете изменить регулярное выражение на:

/\.txt$|\.nfo$|\.url$|\.jpg$|\.gif$/gi

Редактировать: Я немного изучил ваш html и изменил свой код, надеюсь, теперь он работает.

Редактировать2:

На самом деле вы также можете использовать свой исходный код, расширенный для включения регулярного выражения:

var inp=$("tr input");
var regex = /\.txt$|\.nfo$|\.url$|\.jpg$|\.gif$/gi;
for (i = 0; i < inp.length; i++) {
 if (regex.test(inp[i].value)) {
  inp[i-1].checked = false;
 }
}

отличный друг! Я думаю, что ваш код очень хорош. Что я могу делать не так? Я поместил ваш код в tampermonkey, но он не снимается .. Я даже заряжаю его в jsfiddle.net, и он не работает! Я что-то делаю не так ... пожалуйста, если мне кто-то поможет, я новичок в этом :(. Спасибо!

Stack_qwerty 27.11.2018 23:24

Большое спасибо, Пол Бак! мой код, улучшенный вами, работает отлично. еще раз спасибо, чувак

Stack_qwerty 28.11.2018 16:50

Другие вопросы по теме