我想在javascript中使用星号()通配符执行字符串匹配。如果用户输入" v v * k"然后:
"的Vivek"应该匹配。
可以有任意数量的星号。我实现了一个简单的例子,其中星号可以位于起始位置,结束位置或中间位置。
function matchString(pattern,columnValue)
{
if(pattern.indexOf('*')>-1){
if (pattern[0] == '*')
{
return columnValue.endsWith(pattern.substr(1,pattern.length - 1)) ? true:false
}
else if (pattern[pattern.length - 1] == '*')
{
return columnValue.startsWith(pattern.substr(0,pattern.length -1)) ? true:false
}else{
var stringArray = pattern.split('*')
return columnValue.startsWith(stringArray[0]) && columnValue.endsWith(stringArray[stringArray.length-1]) ? true:false
}
}else{
return (columnValue.indexOf(pattern)>-1)
}
return false;
}
我想使用Regex实现它,以便可以在任何位置使用任意数量的星号。
答案 0 :(得分:0)
如果你的意思是" v 我 v * k" - > " vivek",怎么样: -
$(document).ready(function() {
$('#row5 tr').click(function(event) {
$(this).toggleClass('selected');
if ($(event.target).is(':not(:checkbox)')) {
$(':checkbox', this).prop('checked', $(this).hasClass('selected'));
// if you want to trigger click handler bound to checkbox
// without making it bubbles, use:
/*$(':checkbox', this).triggerHandler('click');*/
}
});
});

修改强>
为开始添加^,为结尾添加$