0

我有一个变量[ITEM_NAME],用于存储购物车中的项目名称。我想检查 in 的值[ITEM_NAME]是否类似于以下字符串之一:

"CHICAGO NEW"
"CHICAGO OLD"
"CHICAGO TEXT"
"CHICAGO PURE"

在伪代码中:

if ([ITEM_NAME].contains("CHICAGO"))

我想要一个所有以“CHICAGO”开头的字符串都满足的条件。

4

3 回答 3

4

这与 jQuery 选择器无关。只需使用该indexOf方法查找存储在变量中的字符串是否包含子字符串“CHICAGO”:

if (yourString.indexOf("CHICAGO") !== -1) {
    //do something
}

如果要检查字符串是否以文本“CHICAGO”开头,可以使用:

if (yourString.indexOf("CHICAGO") == 0) {
    //do something
}

indexOf 您可以在此处阅读更多信息。

编辑:在您对 Derek 的回答的评论中,您提到匹配应该不区分大小写(尽管问题中不存在此信息)。如果是这种情况,只需使用:

if (yourString.toUpperCase().indexOf("CHICAGO") == 0) {
    //do something
}
于 2013-05-17T00:08:52.100 回答
1

.contains()检查一个元素是否是另一个 DOM 元素的直接后代。对于您要尝试做的事情,它根本没有用。

你应该使用.indexOf().

如果您需要您的测试区分大小写:

if ([ITEM_NAME].indexOf('Chicago') === 0)

否则,如果它需要不区分大小写:

if ([ITEM_NAME].toUpperCase().indexOf('CHICAGO') === 0)
于 2013-05-17T00:14:40.223 回答
0

我会使用 if (string.match(/chicago/i)) {...} 不区分大小写的正则表达式

于 2013-05-23T16:33:04.493 回答