首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在jQuery中搜索和过滤任何单词正则表达式

在jQuery中搜索和过滤任何单词正则表达式
EN

Stack Overflow用户
提问于 2021-01-26 10:25:42
回答 1查看 249关注 0票数 0

我正在为一个常见问题创建一个单词过滤器,现在它可以工作,但只对第一个单词,我应该使用什么正则表达式来过滤任何单词?

我不能将单词传递给模式,因为它们来自Wordpress中的高级自定义字段。

我试过很多种方法,但我不是裁判专家。

提前感谢

代码语言:javascript
复制
$(".search-field").keyup(function() {
  var pattern = new RegExp(
    "^" + this.value.replace(/([\\(){}|-])/g, "\\$1"),
    "i"
  );

  $(".js-list-faq li a")
    .hide()
    .filter(function() {
      return !!$(this).text().match(pattern);
    })
    .show();
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8" />
</head>

<body>
  <div class="box--default">
    <div class="row justify-content-center">
      <div class="col-md-12">
        <div class="search--form--container">
          <form role="search" method="get" class="search-form" action="http://scansup.local/">
            <label>
                <span class="screen-reader-text">Buscar:</span>
                <input type="search"class="search-field"placeholder="Buscar …"value=""name="s"
                />
              </label>
            <input type="submit" class="search-submit" value="Buscar" />
          </form>
        </div>
      </div>
    </div>
    <div class="row">
      <div class="faq__list-container">
        <ul class="js-list-faq">
          <li>
            <a href="#heading-1" style="display: inline;">Anim Collapsible Group Item #1
              </a>
          </li>
          <li>
            <a href="#heading-2" style="display: inline;">pariatur Collapsible Group Item #2
              </a>
          </li>
          <li>
            <a href="#heading-3" style="display: inline;">cliche Collapsible Group Item #3
              </a>
          </li>
          <li>
            <a href="#heading-4" style="display: inline;">reprehenderit Collapsible Group Item #4</a
              >
            </li>
            <li>
              <a href="#heading-5" style="display: inline;"
                >enim Collapsible Group Item #5
              </a>
          </li>
          <li>
            <a href="#heading-6" style="display: inline;">eiusmod Collapsible Group Item #6
              </a>
          </li>
          <li>
            <a href="#heading-7" style="display: inline;">eiusmode Collapsible Group Item #7
              </a>
          </li>
          <li>
            <a href="#heading-8" style="display: inline;">Collapsible Group Item #8</a
              >
            </li>
            <li>
              <a href="#heading-9" style="display: inline;"
                >Collapsible Group Item #9</a
              >
            </li>
            <li>
              <a href="#heading-10" style="display: inline;"
                >Collapsible Group Item #10</a
              >
            </li>
            <li>
              <a href="#heading-11" style="display: inline;"
                >Collapsible Group Item #11</a>
          </li>
          <li>
            <a href="#heading-12" style="display: inline;">Collapsible Group Item #12</a
              >
            </li>
            <li>
              <a href="#heading-13" style="display: inline;"
                >Collapsible Group Item #13</a
              >
            </li>
            <li>
              <a href="#heading-14" style="display: inline;"
                >Collapsible Group Item #14</a
              >
            </li>
            <li>
              <a href="#heading-15" style="display: inline;"
                >Collapsible Group Item #15</a
              >
            </li>
          </ul>
        </div>
      </div>
    </div>

    <script src="src/index.js"></script>
  </body>
</html>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-26 10:43:17

您的正则表达式是错误的,"^“表示以该字母或单词开头的所有内容。

用这个代替:

代码语言:javascript
复制
...

var pattern = new RegExp(
  this.value.replace(/([\\(){}|-])/g, "\\$1"), 'i'
);

...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65899584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档