正则表达式问题JavaScript

正则表达式问题JavaScript,javascript,regex,Javascript,Regex,我试图获取一个字符串并检查它是否包含小写字母或数字,如果是,则将该字母或数字推送到数组中 for(let i = 0; i < datearg.length; i++) { log.info(datearg.charAt(i)); if(/[a-z]/.test(datearg.charAt(i))) letter_num++; letters.push(datearg.charAt(i)); if(/[0-9]/.test(dat

我试图获取一个字符串并检查它是否包含小写字母或数字,如果是,则将该字母或数字推送到数组中

for(let i = 0; i < datearg.length; i++) 
    {
        log.info(datearg.charAt(i));
        if(/[a-z]/.test(datearg.charAt(i))) letter_num++; letters.push(datearg.charAt(i));
        if(/[0-9]/.test(datearg.charAt(i))) number_num++; numbers.push(datearg.charAt(i));
    }
但是,两个if语句的计算结果始终为true,数组最终包含datearg中的每个字符。有人知道为什么吗

if(/[a-z]/.test(datearg.charAt(i))) letter_num++; letters.push(datearg.charAt(i));
相当于

if(/[a-z]/.test(datearg.charAt(i))) { letter_num++; }
letters.push(datearg.charAt(i));

i、 推送不是有条件的。这就是为什么许多样式指南强烈反对没有大括号的控件结构只接受一条语句的主要原因。

您需要一块代码。。。{code1;code2;code3;}。。。换行符对javascriptAh来说意义不大,是的。我不知道这是怎么从我身边溜走的。谢谢