|
|
@@ -375,11 +375,25 @@ var app = new Vue({
|
|
|
|
|
|
// 模糊搜索
|
|
|
var r;
|
|
|
- if (kw.indexOf('*') > -1) {
|
|
|
- r = new RegExp(kw.replace(/\*/g, '.*'));
|
|
|
- if (r.test(item.content)) {
|
|
|
- return true;
|
|
|
+ var m;
|
|
|
+ var flag = [];
|
|
|
+ if ((m = kw.match(/^\/(.+?)\/?(\w*)$/))) {
|
|
|
+ if (m[2].indexOf('i') > -1) {
|
|
|
+ flag.push('i');
|
|
|
}
|
|
|
+ if (m[2].indexOf('g') > -1) {
|
|
|
+ flag.push('g');
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ r = new RegExp(m[1], flag.join(''));
|
|
|
+ } catch (e) {}
|
|
|
+ } else if (kw.indexOf('*') > -1) {
|
|
|
+ try {
|
|
|
+ r = new RegExp(kw.replace(/\*/g, '.*'), 'ig');
|
|
|
+ } catch (e) {}
|
|
|
+ }
|
|
|
+ if (r && r.test(item.content)) {
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
return false;
|