如何使用JavaScript / jQuery检查字符串是否以某个字符开头?

3
我有以下内容:

可能是重复的问题:
如何使用jQuery检查字符串的开头?

我有以下内容:

if ($(this).data('action') == "Editing" || $(this).data('action') == "Create") 
{
  // how to Check  ? 
}

如何检查编辑或创建是否只是第一个单词而不是完整字符串?

4个回答

10
你可以使用 indexOf 方法 来检查第一个出现的位置是否在字符串的开头:
$(this).data('action').indexOf("Editing") == 0

6

尝试使用正则表达式,如下所示:

 var action = $(this).data('action');
 var regex = /^(Editing|Create)/i;
 if (regex.test(action)) {
      // do something
 }

1
这句代码应该是/^(Editing|Create)/.test(action),对吗? - elclanrs
@elclanrs 应该是这样。我总是弄混顺序。不过我很惊讶在有人意识到之前我已经得到了五票!问题已解决。 - GregL
是的,我总是对顺序三思而后行。JS和它的怪癖... - elclanrs

2
您可以使用substring()或正则表达式(我会使用更易读的substring)。
if ($(this).data('action').substring(0, 7) == "Editing" || $(this).data('action').substring(0, 6) == "Create") 

哈哈,也许是一个快速的方法。但是...非常硬编码 ;) - Andreas Louv

1
你可以使用JavaScript的substr方法(http://www.w3schools.com/jsref/jsref_substr.asp)。
if ($(this).data('action').substr(0, 7) == "Editing" || $(this).data('action').substr(0, 6) == "Create") {

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接