Javascript проверяет, содержит ли строка только nbsp;

Это может быть чрезвычайно тривиально, но я ищу способ проверить, содержит ли строка ТОЛЬКО объект html nbsp;

Пример:

// checking if string ONLY CONTAINS nbsp;
'nbsp;' -> true
'nbsp;nbsp;nbsp;nbsp;' -> true
'nbsp;nbsp; HELLO WORLD nbsp;' -> false

Как я могу это сделать? очевидно, что наиболее краткий и эффективный метод был бы идеальным ... какие-либо предложения?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
396
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Используйте регулярное выражение:

const test = str => console.info(/^(?:nbsp;)+$/.test(str));
test('nbsp;');
test('nbsp;nbsp;nbsp;nbsp;');
test('nbsp;nbsp; HELLO WORLD nbsp;');

Если вы хотите также разрешить пустую строку, измените + (повторите группу один или несколько раз) на * (повторите группу ноль или более раз).

ну, я не хочу разрешать это, я хочу сделать это недействительным. спасибо за метод!

John Jackson 15.02.2019 03:57

Альтернативным способом может быть использование .split и Set, чтобы проверить, является ли "nbsp;" появляется в вашей строке с другими элементами:

const check = str => new Set(str.split('nbsp;')).size == 1

console.info(check('nbsp;'));
console.info(check('nbsp;nbsp;nbsp;nbsp;'));
console.info(check('nbsp;nbsp; HELLO WORLD nbsp;'));

Примечание: Это также подберет пробелы

const input1 = 'nbsp;';
const input2 = 'nbsp;nbsp;nbsp;nbsp;';
const input3 = 'nbsp;nbsp; HELLO WORLD nbsp;';

function allSpaces(str) {
    let arr = str.trim().split(';');
    arr = arr.slice(0, arr.length - 1);
    return arr.every(str => str === 'nbsp');
}

console.info(allSpaces(input1));
console.info(allSpaces(input2));
console.info(allSpaces(input3));

Другие вопросы по теме