这里分享几种方案:
- 采用ES6 includes 方法
用法: str.includes(searchString, position)
searchString: 需要搜索的字符串
position: 从哪个接口索引开始搜索子字符串
var str = 'abc'
var select = 'a'
str.includes(select,0) // true
注意:
- 兼容性不好
- IE浏览器低版本不能使用
2.ES5 indexOf
返回字符串的当前位置,如果找不到就会返回-1
var str = 'abc'
var select = 'a'
str.indexOf(select) !== -1 // true
3.利用search 筛选
可以利用正则规则查询,并且返回第一个查询的出现位置
var str = 'abac'
var select = /a/
str.search(select) // 0
注意:
- 如果你区分大小写的话
var str = 'Abac'
var select = /a/i
str.search(select) // 0
// 相当于 str.toLowerCase().indexOf(select).toLowerCase()
4.RegExp 正则匹配
var str = 'Abac'
var select = /a/i
select.test(str) // true
注意:
使用正则表达式查询会造成一些额外的开销,影响一定的性能,如果在比较复杂的计算中
-
match()
会返回匹配的规则信息,配置,查询的字段
6.使用类库的属性方法:
var str = "abca";
var select = "a";
_.includes(str, select); // true