我需要在一个循环中比较两个字符串,同时接受匹配字符串中的某个字符“-”。
function onDatabound(e)
{
var grid = e.sender;
var str = $.trim(grid.value());
var srcWords = str.split(" ");
var records = $(grid.ul).find("li");
for (var i = 0; i < records.length; i++) {
var classes = $(records[i]).find("span i").attr("class");
var newText = records[i].innerText;
for (var j = 0; j < srcWords.length; j++) {
var regex = new RegExp(srcWords[j], 'gi'); //case-insensitive
newText = newText.replace(regex,
function(match) {
return '<strong>' + match + '</strong>';
});
}
$(records[i]).find("span").html("<i class='" + classes + "'></i>" + newText);
}
}
此代码完美运行,但需要最后的润色。即使用户不写字符“-”,我也需要替换功能来接受用户的输入。例子:
innerText:1111-2222 lorem ipsum dolar 11112222 lorem ipsum dolar
用户输入:11112222
我需要将这两个都突出显示“1111-2222”和“11112222”,即使用户没有写“-”,反之亦然。
我应该使用正则表达式来解决这个问题,还是你们看到我可以使用的其他方法?