我没有编写下面的代码但是我添加了一个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');
}
});
}
答案 0 :(得分:2)
您需要在正则表达式的开头使用插入符^
(它匹配位置“字符串或行的开头”)。但那不是修饰语。取代i
pour代表“不区分大小写”。
因此...
var regExp = new RegExp((starts ? '^' : '') + inputVal, 'i');