javascript匹配获取所有包含数字的类名
我试图获取body标记中包含数字的类,但却被正则表达式卡住了javascript匹配获取所有包含数字的类名,javascript,regex,Javascript,Regex,我试图获取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
<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
}
var matches=document.body.className.match(/[0-9]+/);
如果(匹配){
id=匹配项;
//document.getElementById(“num”).innerHTML=id;
console.log(id)//预期输出s21aSi
}
在这种情况下,是否可以将输出作为s21aSi?您可以使用空格(
.split(/\s+/)
)进行分割,并使用/\d/
(数字匹配)模式进行过滤:
var matches=document.body.className.split(/\s+/).filter(m=>/\d/.test(m));
console.log(匹配)
您可以从.classList
属性创建一个数组并过滤该数组,下面是一个示例:
const result=[…document.body.classList].filter(cl=>/\d/.test(cl));
控制台日志(结果)代码>
你好,提图斯,我的建议基本上是一样的,对吧?或者我的解决方案中是否存在严重缺陷?为什么被否决?@WiktorStribiżew是的,它们具有相同的效果,我看不出任何缺陷,在空格上拆分是安全的,因为空格不是有效的类名字符。当人们投反对票而不留下解释的评论时,这是令人沮丧的。