我正在用正则表达式匹配字符串,但是遇到了奇怪的行为。我的代码如下:
const regex = /^[\w-]*$/g;
const name = 'test22';
function isValidName(name) {
return name && regex.test(name);
}
console.log(name, isValidName(name));
if (isValidName(name) === false) {
console.log('not valid');
}
运行代码后,控制台上将记录以下内容:
test22, true, not valid
因此isValidName的计算结果为true,但是if语句仍然运行。
此任务的目标是查找包含字母数字,数字或破折号以外的字符的字符串。可能是什么问题?