मैं उन बॉडी टैग की कक्षाएं प्राप्त करने की कोशिश कर रहा हूं जिनमें संख्याएं हैं, लेकिन रेगेक्स के साथ फंस गया है
<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 के रूप में प्राप्त करना संभव है?
2
Norman
30 अप्रैल 2020, 17:30
2 जवाब
आप .classList
प्रॉपर्टी से एक ऐरे बना सकते हैं और उस ऐरे को फ़िल्टर कर सकते हैं, यहां एक उदाहरण दिया गया है:
const result = [...document.body.classList].filter(cl => /\d/.test(cl));
console.log(result);
<body class='UjQWin PEfnhb s21aSi'>
2
Titus
30 अप्रैल 2020, 17:39
आप व्हाइटस्पेस (.split(/\s+/)
) से विभाजित कर सकते हैं और /\d/
(अंक मिलान) पैटर्न का उपयोग करके फ़िल्टर कर सकते हैं:
var matches = document.body.className.split(/\s+/).filter(m => /\d/.test(m));
console.log(matches)
<body class='UjQWin PEfnhb s21aSi'>
0
Wiktor Stribiżew
30 अप्रैल 2020, 17:32