必须加上 ^ 和 $,否则XXXX-XXX-XXXX格式会判断错误。否则字符串中有三个连续的数字就会判断为true。

function matchesPattern(str) {
    let reg1 = /^\d{3}$/;
    let reg2 = /^\d{4}$/;
    let newStr = str.split('-')
    if (newStr.length !== 3) {
        return false;
    }

    return reg1.test(newStr[0]) && reg1.test(newStr[1]) && reg2.test(newStr[2])
}