Это может быть чрезвычайно тривиально, но я ищу способ проверить, содержит ли строка ТОЛЬКО объект html nbsp;
Пример:
// checking if string ONLY CONTAINS nbsp;
'nbsp;' -> true
'nbsp;nbsp;nbsp;nbsp;' -> true
'nbsp;nbsp; HELLO WORLD nbsp;' -> false
Как я могу это сделать? очевидно, что наиболее краткий и эффективный метод был бы идеальным ... какие-либо предложения?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Используйте регулярное выражение:
const test = str => console.info(/^(?:nbsp;)+$/.test(str));
test('nbsp;');
test('nbsp;nbsp;nbsp;nbsp;');
test('nbsp;nbsp; HELLO WORLD nbsp;');Если вы хотите также разрешить пустую строку, измените + (повторите группу один или несколько раз) на * (повторите группу ноль или более раз).
Альтернативным способом может быть использование .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));
ну, я не хочу разрешать это, я хочу сделать это недействительным. спасибо за метод!