2013-03-09 86 views
2

开始我试图检查一个字符串的字符开头:/的JavaScript - 检查字符串

我怎样才能做到这一点?

+0

可能的重复[如何检查字符串“StartsWith”另一个字符串?](http://stackoverflow.com/questions/646628/how-to-check-if-a-string-startswith-another-string) – 2015-11-09 08:47:47

回答

13
if(someString.indexOf('/') === 0) { 
} 
+1

我会使用'==='。 – c24w 2013-03-09 13:15:07

+3

虽然这确实可以很好地发现,但它不是“最佳”解决方案,因为它需要遍历整个字符串。 – 2013-03-09 13:16:02

+0

@Tririar - 我绝对同意。 – 2013-03-09 13:52:15

9

字符串的字符可以通过下标运算符[]访问。

if (string[0] == '/') { 

} 

[0]意味着字符串中的第一个字符作为索引是基于0在JS。以上也可以用正则表达式来完成。

+0

@JustinNiessner对你来说这是不必要的? – 0x499602D2 2013-03-09 13:02:53

+1

@JustinNiessner只要string是一个变量就可以。 – 2013-03-09 13:06:20

+0

是的,因为我们只是检查字符串的第一个索引是'/'而没有别的。 – wei2912 2013-03-09 13:10:13

0
<script> 
    function checkvalidate(CheckString) { 
     if (CheckString.indexOf("/") == 0) 
     alert ("this string has a /!"); 
    } 
</script> 

<input type="text" id="textinput" value="" /> 
<input type="button" onclick="checkvalidate(document.getElementById('textinput').value);" value="Checkme" /> 
+0

我的歉意=)编辑!在开始写出答案之前,我会正确地阅读这个问题:)! – MackieeE 2013-03-09 13:07:28

0
var str = "abcd"; 

if (str.charAt(0) === '/') 
0
data.substring(0, input.length) === input 

参见以下示例代码

var data = "/hello"; 
var input = "/"; 
if(data.substring(0, input.length) === input) 
    alert("slash found"); 
else 
    alert("slash not found"); 

Fiddle

+0

为什么你拒绝投票? – 2013-03-09 13:02:36

+0

(投票不是我)但有些人不在意评论 – asifsid88 2013-03-09 13:06:38

+0

请检查我修改了答案,并在我看来它的效率。如果你喜欢,就投票吧。 – 2013-03-09 13:09:45

2

替代String.indexOf/^\//.test(yourString)