我有一个变量[ITEM_NAME]
,用于存储购物车中的项目名称。我想检查 in 的值[ITEM_NAME]
是否类似于以下字符串之一:
"CHICAGO NEW"
"CHICAGO OLD"
"CHICAGO TEXT"
"CHICAGO PURE"
在伪代码中:
if ([ITEM_NAME].contains("CHICAGO"))
我想要一个所有以“CHICAGO”开头的字符串都满足的条件。
我有一个变量[ITEM_NAME]
,用于存储购物车中的项目名称。我想检查 in 的值[ITEM_NAME]
是否类似于以下字符串之一:
"CHICAGO NEW"
"CHICAGO OLD"
"CHICAGO TEXT"
"CHICAGO PURE"
在伪代码中:
if ([ITEM_NAME].contains("CHICAGO"))
我想要一个所有以“CHICAGO”开头的字符串都满足的条件。
这与 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
}
.contains()
检查一个元素是否是另一个 DOM 元素的直接后代。对于您要尝试做的事情,它根本没有用。
你应该使用.indexOf()
.
如果您需要您的测试区分大小写:
if ([ITEM_NAME].indexOf('Chicago') === 0)
否则,如果它需要不区分大小写:
if ([ITEM_NAME].toUpperCase().indexOf('CHICAGO') === 0)
我会使用
if (string.match(/chicago/i)) {...}
不区分大小写的正则表达式