当前位置: 首页 > 知识库问答 >
问题:

如何将多个可能的regex值与给定字符串进行比较

梁丘德寿
2023-03-14

我是javascript/jQuery的新手,由于我对javascript和jQuery有非常基本的了解,我可能不知道有许多函数可以帮助我解决我的问题。而我正在做的项目只是为了练习。

所以,我有一个字符串,我想和某些值进行比较,三个不同的值是可能的,它们是相互穷尽的。

$(".grid-item").click(function() {
    var classname = $(this).attr('class');
    console.log(classname);   //This returns "grid-item active car-right"

    var reg_class = /active checked booked/;

    var what_class = classname.match(reg_class);

    $(this).toggle_function(){

        if(what_class == active){

        }

        if(what_class == checked){

        }

        if(what_class == booked){

        }

    }
});

那么,如何创建一个具有三个不同可能值的regex变量,然后将其与变量classname中的值进行比较。

没有任何方法可以像这样进行比较:(如果classname==%active%).......这可能看起来很荒谬,但是,我不知道这是否可以在javascript中完成。

共有1个答案

束敏学
2023-03-14

我认为在您的情况下,更好的解决方案是使用jQuery的.hasclass(),它专门用于以下方面:

$(function() {
  $('.grid-item').on('click', function (e) {
    if ($(this).hasClass('active')) {
      console.log('active');
    }
    if ($(this).hasClass('checked')) {
      console.log('checked');
    }
    if ($(this).hasClass('booked')) {
      console.log('booked');
    }
  });
});
html prettyprint-override"><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="grid-item checked booked somethingelse">click me</div>
 类似资料:
  • 但是如何修改(或更改)它为可为空的字符串(如果字符串是return)?

  • 问题内容: 我是Java的新手,为了实践起见,我试图创建一个十六进制到十进制的数字转换器,因为我已经成功地制作了一个二进制到十进制的转换器。 我遇到的问题基本上是将一个字符串中的给定字符与另一个字符串进行比较。这就是我定义要比较的当前字符的方式: 这是我尝试比较角色的方法: 当我尝试通过仅输入数字(例如12)来运行代码时,它可以工作,但是当我尝试使用“ b”时,会出现一个奇怪的错误。这是运行程序的

  • 我有一个字符串变量,其中可能有、和。

  • 想改进这个问题吗?通过编辑这篇文章添加细节并澄清问题。 我想知道是否可以将字符串数组值与字符串进行比较,例如;我有一个字符串数组,上面有5个值我想知道哪个索引值具有a或b。我想到了一个主意,但没有成功。 基本上,如果索引0是a,则应打印“Apple”,如果是b,则应打印“ball”,依此类推。有没有办法将值或字符串数组与字符串进行比较?

  • 问题内容: 我有一个字符串变量,有可能值,和。 我想使用if语句将所有这些值进行比较(大小写相等),例如: 有没有一种方法可以避免使用多个OR(||)运算符并在一个表达式中比较值?例如,像这样: 问题答案: 我找到了更好的解决方案。这可以通过RegEx实现: 对于不区分大小写的匹配: