2013-04-15 3 views
0

Я не написал код ниже, но я добавил, что если ему нужно, чтобы проверить значение, называемое start, если для начала установлено значение 1, я хочу только вернуть результаты, начинающиеся со значения, я попробовал поиск RegEx exp и поменять «i» на «a» или «\ A», но не работает, какой персонаж мне нужен для начала?JQuery Regexp начинается с

Благодаря

function searchTable(inputVal, tablename,starts) { 
    var table = $(tablename); 
    table.find('tr:not(.header)').each(function (index, row) { 
     var allCells = $(row).find('td'); 
     if (allCells.length > 0) { 
      var found = false; 
      allCells.each(function (index, td) { 
       if (starts = 1) { 
        var regExp = new RegExp(inputVal, 'i'); 
       } else { 
        var regExp = new RegExp(inputVal, 'i'); 
       } 

       if (regExp.test($(td).text())) { 
        found = true; 
        return false; 
       } 
      }); 
      if (found == true) $(row).show().removeClass('exclude'); else $(row).hide().addClass('exclude'); 
     } 
    }); 
} 
+0

Сравнение осуществляется либо с помощью '==' или '' ===, а не только один '='. –

+0

@limelights 'start' - это аргумент. – Loamhoof

+0

@Loamhoof да, я видел, что так же, как я опубликовал комментарий. я был немного готов прыгать с пистолета! :( –

ответ

2

Вы должны использовать каретку ^ в начале вашего регулярного выражения (оно соответствует позиции «начало строки или строк»). Но это не модификатор. Заменители заменяют i на «без учета регистра».

Итак ...

var regExp = new RegExp((starts ? '^' : '') + inputVal, 'i'); 
Смежные вопросы