Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript匹配获取所有包含数字的类名_Javascript_Regex - Fatal编程技术网

javascript匹配获取所有包含数字的类名

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标记中包含数字的类,但却被正则表达式卡住了

<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是的,它们具有相同的效果,我看不出任何缺陷,在空格上拆分是安全的,因为空格不是有效的类名字符。当人们投反对票而不留下解释的评论时,这是令人沮丧的。