正则表达式和if语句的奇怪行为

时间:2019-06-04 10:23:43

标签: javascript regex if-statement

我正在用正则表达式匹配字符串,但是遇到了奇怪的行为。我的代码如下:

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语句仍然运行。

此任务的目标是查找包含字母数字,数字或破折号以外的字符的字符串。可能是什么问题?

0 个答案:

没有答案