为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查字符串是否包含子字符串?

如何检查字符串是否包含子字符串?

慕尼黑5688855 2019-11-21 10:44:54
我有一个购物车,在下拉菜单中显示产品选项,如果它们选择“是”,我想使页面上的其他一些字段可见。问题是购物车的文本中还包含价格修饰符,每个产品的价格修饰符可能不同。以下代码有效:$(document).ready(function() {    $('select[id="Engraving"]').change(function() {        var str = $('select[id="Engraving"] option:selected').text();        if (str == "Yes (+ $6.95)") {            $('.engraving').show();        } else {            $('.engraving').hide();        }    });});但是,我宁愿使用类似这样的方法,它不起作用:$(document).ready(function() {    $('select[id="Engraving"]').change(function() {        var str = $('select[id="Engraving"] option:selected').text();        if (str *= "Yes") {            $('.engraving').show();        } else {            $('.engraving').hide();        }    });});我只想在所选选项包含单词“是”的情况下执行操作,并且会忽略价格修饰符。
查看完整描述

3 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

像这样:


if (str.indexOf("Yes") >= 0)

...或者您可以使用波浪号运算符:


if (~str.indexOf("Yes"))

之所以有效,是因为如果根本找不到该字符串,则indexOf()返回-1。


请注意,这是区分大小写的。

如果您要进行不区分大小写的搜索,可以编写


if (str.toLowerCase().indexOf("yes") >= 0)

要么,


if (/yes/i.test(str))


查看完整回答
反对 回复 2019-11-21
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

现在写这个答案已经很晚了,但我还是想把它包括在内。String.prototype现在有一个includes可以检查子字符串的方法。此方法区分大小写。


var str = 'It was a good date';

console.log(str.includes('good')); // shows true

console.log(str.includes('Good')); // shows false

要检查子字符串,可以采用以下方法:


if (mainString.toLowerCase().includes(substringToCheck.toLowerCase())) {

    // mainString contains substringToCheck

}

查看文档以了解更多信息。


查看完整回答
反对 回复 2019-11-21
?
12345678_0001

TA贡献1802条经验 获得超5个赞

ECMAScript 6引入了String.prototype.includes以前的名称contains。


可以这样使用:


'foobar'.includes('foo'); // true

'foobar'.includes('baz'); // false

它还接受一个可选的第二个参数,该参数指定开始搜索的位置:


'foobar'.includes('foo', 1); // false

'foobar'.includes('bar', 1); // true

可以对其进行多填充以使其在旧的浏览器上运行。


查看完整回答
反对 回复 2019-11-21
  • 3 回答
  • 0 关注
  • 598 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信