如何比较JavaScript中包含字符串的两个变量?

时间:2013-04-01 05:15:20

标签: javascript

我想比较两个变量,即字符串,但我收到错误。

<script>
    var to_check=$(this).val();
    var cur_string=$("#0").text();
    var to_chk = "that";
    var cur_str= "that";

    if(to_chk==cur_str){
        alert("both are equal");
        $("#0").attr("class","correct");    
    } else {
        alert("both are not equal");
        $("#0").attr("class","incorrect");
    }
</script>

我的if语句有问题吗?

4 个答案:

答案 0 :(得分:17)

===没有必要。您知道这两个值都是字符串,因此您不需要比较类型。

function do_check()
{
  var str1 = $("#textbox1").val();
  var str2 = $("#textbox2").val();

  if (str1 == str2)
  {
    $(":text").removeClass("incorrect");
    alert("equal");
  }
  else
  {
    $(":text").addClass("incorrect");
    alert("not equal");
  }
}
.incorrect
{
  background: #ff8888;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input id="textbox1" type="text">
<input id="textbox2" type="text">

<button onclick="do_check()">check</button>

答案 1 :(得分:4)

而不是使用==符号,比较时更安全地使用===符号,您发布的代码运行良好

答案 2 :(得分:0)

我使用下面的函数比较两个字符串,它运行良好。

function CompareUserId (first, second)
{

   var regex = new RegExp('^' + first+ '$', 'i');
   if (regex.test(second)) 
   {
        return true;
   }
   else 
   {
        return false;
   }
   return false;
}

答案 3 :(得分:0)

您可以使用javascript专用字符串比较方法 string1.localeCompare(string2)。 如果字符串不相等,它将为您 -1 ,如果字符串相等则为 0 ,如果字符串1在字符串2之后排序,则为 1

<script>
    var to_check=$(this).val();
    var cur_string=$("#0").text();
    var to_chk = "that";
    var cur_str= "that";
    if(to_chk.localeCompare(cur_str) == 0){
        alert("both are equal");
        $("#0").attr("class","correct");    
    } else {
        alert("both are not equal");
        $("#0").attr("class","incorrect");
    }
</script>