Проверка JavaScript, если строка содержит только nbsp; - PullRequest
0 голосов
/ 15 февраля 2019

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

Пример:

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

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

Ответы [ 3 ]

0 голосов
/ 15 февраля 2019

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

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

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

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

0 голосов
/ 15 февраля 2019

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.log(allSpaces(input1));
console.log(allSpaces(input2));
console.log(allSpaces(input3));
0 голосов
/ 15 февраля 2019

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

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

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

...