javascript соответствует получить все имена классов с номерами в них - PullRequest
2 голосов
/ 30 апреля 2020

Я пытаюсь получить классы тега 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?

Ответы [ 2 ]

3 голосов
/ 30 апреля 2020

Вы можете создать массив из свойства .classList и отфильтровать этот массив, вот пример:

const result = [...document.body.classList].filter(cl => /\d/.test(cl));
console.log(result);
<body class='UjQWin PEfnhb s21aSi'>
2 голосов
/ 30 апреля 2020

Вы можете разделить пробелами (.split(/\s+/)) и фильтровать, используя шаблон /\d/ (di git match):

var matches = document.body.className.split(/\s+/).filter(m => /\d/.test(m));
console.log(matches)
<body class='UjQWin PEfnhb s21aSi'>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...