繁体   English   中英

如何在HTML表格中仅搜索与搜索栏中输入内容完全匹配的内容?

[英]How can I search an HTML table for only an exact match of my input in the search bar?

我目前正在使用以下代码在网站上为HTML表格创建单列搜索。 目前,当我在搜索栏中输入内容时,代码将返回包含内容的每一行,其中包含我在其中任何位置搜索的内容。 例如(我正在用它来进行电影分级),当我在搜索栏中输入“ G”时,我会得到所有评级为G的东西,而且还会得到所有评级为PG或PG-13的东西。 有没有办法使我的代码适合于仅返回与我的搜索完全匹配的结果? 换句话说,有没有一种方法可以进行更改,以便当我搜索“ G”(或“ g”)时,我只取回G评级的电影,而没有PG或PG-13评级的电影?

谢谢!

当前代码:

<script type="text/javascript">

function searchRows(tblId) {
var tbl = document.getElementById(tblId);
var headRow = tbl.rows[0];
var arrayOfHTxt = new Array();
var arrayOfHtxtCellIndex = new Array();

for (var v = 0; v < headRow.cells.length; v++) {
 if (headRow.cells[v].getElementsByTagName('input')[0]) {
 var Htxtbox = headRow.cells[v].getElementsByTagName('input')[0];
  if (Htxtbox.value.replace(/^\s+|\s+$/g, '') != '') {
    arrayOfHTxt.push(Htxtbox.value.replace(/^\s+|\s+$/g, ''));
    arrayOfHtxtCellIndex.push(v);
  }
 }
}

for (var i = 1; i < tbl.rows.length; i++) {

    tbl.rows[i].style.display = 'table-row';

    for (var v = 0; v < arrayOfHTxt.length; v++) {

        var CurCell = tbl.rows[i].cells[arrayOfHtxtCellIndex[v]];

        var CurCont = CurCell.innerHTML.replace(/<[^>]+>/g, "");

        var reg = new RegExp(arrayOfHTxt[v] + ".*", "i");

        if (CurCont.match(reg) == null) {

            tbl.rows[i].style.display = 'none';

       }

    }

  }
}
</script>

首先使用toUpperCase()

如果您只想区分G, PG, PG-13, R, NC-17 ,则可以使用===

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM