jqueryregexp以

jqueryregexp以,jquery,regex,Jquery,Regex,我没有写下面的代码,但我添加了一个if,以检查名为starts的值,如果starts设置为1,我只想返回以该值开头的结果,我尝试搜索RegEx exp,并将“I”替换为“a”或“\a”,但这两个都不起作用,我需要在其中输入什么字符才能开始 谢谢 function searchTable(inputVal, tablename,starts) { var table = $(tablename); table.find('tr:not(.header)').each(functio

我没有写下面的代码,但我添加了一个if,以检查名为starts的值,如果starts设置为1,我只想返回以该值开头的结果,我尝试搜索RegEx exp,并将“I”替换为“a”或“\a”,但这两个都不起作用,我需要在其中输入什么字符才能开始

谢谢

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');
        }
    });
}

您需要在regexp的开头使用插入符号(它匹配“字符串或行的开头”)。但这不是修饰语。
i
表示“不区分大小写”

所以


比较是通过
=
==
完成的,而不仅仅是一个
=
@limelights
开始的
是一个参数。@Loamhoof是的,我在发布评论时看到了这一点。我有点急着跳枪了!:(@limelights发生在任何人身上都会错过一两件事;)而你的比较仍然是对的。
var regExp = new RegExp((starts ? '^' : '') + inputVal, 'i');