jquery - 如果 URL 包含 6 位数字,则将该值 append 到类中

标签 jquery regex append href

如果这个问题得到解答,我深表歉意。我尝试过搜索,但是对此很新鲜,也许我没有使用正确的术语。

我有一个页面,其中包含以下 pdf 示例的链接:

<a href="https://www.pdflinks.com/files/190488/nameoffile.pdf">Link1</a>
<a href="https://www.pdflinks.com/files/112254/nameoffile.pdf">Link2</a>

如果 URL 包含 6 位数字(如上所述)和 .pdf,是否可以使用正则表达式和 JQuery 将这些值作为类添加到 href 中?所以结果是:

<a href="https://www.pdflinks.com/files/190488/nameoffile.pdf" class="pdf190488">Link1</a>
<a href="https://www.pdflinks.com/files/112254/nameoffile.pdf" class="pdf112254">Link2</a>

我尝试过以下方法,但没有雪茄

var regex = "^[0-9]{1,6}$";
$('a').each(function() {
    $(this).addClass(regex.match($(this).attr("href"))[0]
});

最佳答案

有几个错误:

  • 正则表达式已锚定:没有匹配项
  • 正则表达式初始化错误
  • 使用方法 exec 而不是 match
  • JS 无效(缺少右括号)

var regex = /[0-9]{1,6}/;
$('a').each(function() {
  $(this).addClass('pdf' + regex.exec($(this).attr("href"))[0]);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<a href="https://www.pdflinks.com/files/190488/nameoffile.pdf">Link1</a>
<a href="https://www.pdflinks.com/files/112254/nameoffile.pdf">Link2</a>

此外,如果您的意思是正好 6 位数字,请将正则表达式更改为 [0-9]{6}

关于jquery - 如果 URL 包含 6 位数字,则将该值 append 到类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42859072/

相关文章:

c# - 用一些逗号分隔符拆分字符串

c++ - 将一个 int append 到 char*

javascript - 如何在 React Native 中使用导航器向组件动态添加新 Prop

javascript - 如何使用 requirejs 来处理 ajax 回调?

Java正则表达式用标签分割

java - 在 Java 中将节点 append 到 xml

c - 当key匹配时将节点发送到链表的前面。 C语言

javascript - window.setInterval 不起作用

jquery - 如何在不按shift键的情况下在鼠标滚轮上启用水平滚动

匹配 url 的正则表达式模式