JavaScript - 如何检查字符串是否与另一个字符串相同或相等

时间:2012-05-15 17:38:20

标签: javascript

为了说明我想做什么,我将以示例代码为例:

<html>
<head>
</head>
<body>
<script type="text/javascript">
function oc(a)
{
  var o = {};
  for(var i=0;i<a.length;i++)
  {
    o[a[i]]='';
  }
  return o;
}
if ( "Island" in oc(["Hello","Hello World","Have","Island"]) )
{
document.write("Yes");
}
</script>
</body>
</html> 

在这种情况下,我的页面上会显示Yes,但如果我更改了条件:

  

if(oc中的“Isl”([“Hello”,“Hello World”,“Have”,“Island”]))

该功能找不到匹配项。执行此类检查的最佳方法是什么,即使只有部分字符串匹配,它也会返回true?

由于

Leron

4 个答案:

答案 0 :(得分:4)

使用.indexOf()

var str = 'hello world'
if (str.indexOf('lo') >= 0) {
    alert('jippy');
}

indexOf()返回找到值的位置。如果没有匹配则返回-1,因此我们需要检查结果是否大于或等于0

答案 1 :(得分:1)

您可以使用正则表达式中的.test方法。

var pattern = /Isl/;
pattern.test("Island"); // true
pattern.test("asdf"); //false

答案 2 :(得分:0)

var s = "helloo";
alert(s.indexOf("oo") != -1);

indexOf返回另一个字符串中字符串的位置。如果未找到,则返回-1。

https://developer.mozilla.org/en/Core%5FJavaScript%5F1.5%5FReference/Objects/String/indexOf

答案 3 :(得分:0)

<html> 
<head> 
</head> 
<body> 
<script type="text/javascript"> 
function inArray(str, array) 
{ 
  for(var i=0; i<array.length; i++) 
  { 
    if (array[i].indexOf(str) >= 0)
        return true;
  } 
  return false;
} 
if ( inArray("Island", ["Hello","Hello World","Have","Island"] ) 
{ 
document.write("Yes"); 
} 
</script> 
</body> 
</html>