do{
var string1=prompt("Enter text");
} while(!string1||!/^[a-zA-Z\s]*$/.test(string1));
有人可以详细向我解释一下里面的情况吗?
答案 0 :(得分:2)
!string
将为true,这意味着
string !== '' && string !== null && string !== false && string !== undefined
正则表达式/^[a-zA-Z\s]*$/
匹配任何只包含字母/空格的字符串,并且通过!
我们想要反对网站。包含至少一个不是字母/空格的字符的字符串
.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)}`);
});