Может кто-нибудь объяснить эту часть кода?

-4

do{    
var string1=prompt("Enter text");
} while(!string1||!/^[a-zA-Z\s]*$/.test(string1));

Может кто-нибудь, пожалуйста, объясните мне состояние внутри, пока подробно?

спросил(а) 2018-04-10T04:49:00+03:00 2 года, 5 месяцев назад
0
69

!string будет true, если строка не пуста, то есть string !== '' && string !== null && string !== false && string !== undefined

Регулярное выражение /^[a-zA-Z\s]*$/ соответствует любой строке, содержащей только букву/пробел и делая ! мы хотим противоположную сторону. Строка, содержащая по крайней мере один символ, который не является буквой/пробелом

enter image description here

Метод .test оценивает регулярное выражение для данной строки и возвращает true если шаблон соответствует строке.

Так:

'333' // true
' 333' // true
'aaa' // false
' ' // false
'3a3' // true

const arr = [
'333', // I have at least 1 non letter/whitespace
'444', // I have at least 1 non letter/whitespace
' 44', // I have at least 1 non letter/whitespace
'a$', // I have at least 1 non letter/whitespace
'aaaa', // false
'ZZZ', // false
' ', // false
'"$a%' // I have at least 1 non letter/whitespace
];

arr.forEach(string => {
console.log('${string}: ${!/^[a-zA-Z\s]*$/.test(string)}');
});

ответил(а) 2018-04-10T04:58:00+03:00 2 года, 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема