首页 > 解决方案 > javascript匹配获取所有带有数字的类名

问题描述

我正在尝试获取其中包含数字的 body 标签的类,但被正则表达式卡住了

<body class='UjQWin PEfnhb s21aSi'>

var matches = document.body.className.match(/[0-9]+/);
if (matches) {
    id = matches;
    //document.getElementById("num").innerHTML = id;
  console.log(id) //expected output s21aSi 
}

在这种情况下,是否可以将输出设为 s21aSi?

标签: javascriptregex

解决方案


您可以从.classList属性创建一个数组并过滤该数组,这是一个示例:

const result = [...document.body.classList].filter(cl => /\d/.test(cl));
console.log(result);
<body class='UjQWin PEfnhb s21aSi'>


推荐阅读