gpt4 book ai didi

javascript - 使用类似于 sql 的正则表达式进行搜索过滤器,如 'a%'

转载 作者:行者123 更新时间:2023-12-01 02:45:39 24 4
gpt4 key购买 nike

我有这个搜索过滤器,我如何实现一个正则表达式,使其像sql(如“a%”)一样工作,找到以a开头的任何值?

function SFName() {

var input, filter, table, tr, td, i;
input = document.getElementById("SFNameInput");
filter = input.value.toUpperCase();
table = document.getElementById("myTable");
tr = table.getElementsByTagName("tr");

for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[0];
if (td) {
if (td.innerHTML.toUpperCase().indexOf(filter) > -1) {
tr[i].style.display = "";

} else {
tr[i].style.display = "none";
}
}
}
}

这是我尝试过的:

function SFName() {

var input, regex, table, tr, td, i;
input = document.getElementById("SFNameInput").value;
regex = /^/gi;
table = document.getElementById("myTable");
tr = table.getElementsByTagName("tr");

for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[2];
if (td) {
if (regex.exec(td.innerHTML).indexOf(input) > -1) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}

https://jsfiddle.net/j7t5d9ud/

最佳答案

如果您想检查开头,可以使用myStr.indexOf(value) === 0。此处似乎不需要正则表达式。

这一行

if (regex.exec(td.innerHTML).indexOf(input) > -1) {

变成

if (td.innerHTML.indexOf(input) === 0) {

关于javascript - 使用类似于 sql 的正则表达式进行搜索过滤器,如 'a%',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47274615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com