javascript – Validar 2 mayusculas con una expresion regular

estoy haciendo un validador de contraseñas y quiero que tenga 2 letras mayusculas pero sin importar el orden de estas, es decir, si ingresa AbcdE debería ser valido.
Ahora solo tengo esta expresion (A-Z){2,} pero no me funciona el todo, si ingreso lo que puse mas arriba me marca false, como podría hacer para reconocer las mayusculas a lo largo de la cadena?

De la misma forma quiero validar que tenga mas de 8 caracteres, 5 numeros, etc.

Este es mi código:

    var text = document.getElementById('password').value;

    var length = document.getElementById('length');
    var lowercase = document.getElementById('lowercase');
    var uppercase = document.getElementById('uppercase');
    var number = document.getElementById('number');
    var special = document.getElementById('special');
    var repeat = document.getElementById('repeat');

    checkIfEightChar(text) ? length.classList.add('list-group-item-success') : length.classList.remove('list-group-item-success');
    checkIfOneLowercase(text) ? lowercase.classList.add('list-group-item-success') : lowercase.classList.remove('list-group-item-success');
    checkIfUppercase(text) ? uppercase.classList.add('list-group-item-success') : uppercase.classList.remove('list-group-item-success');
    checkIfDigit(text) ? number.classList.add('list-group-item-success') : number.classList.remove('list-group-item-success');
    checkIfOneSpecialChar(text) ? special.classList.add('list-group-item-success') : special.classList.remove('list-group-item-success');
    //validaCaracteresSeguidos(text) ? repeat.classList.add('list-group-item-success') : repeat.classList.remove('list-group-item-success');
}

function checkIfEightChar(text){
    return text.length >= 8;
}

function checkIfOneLowercase(text) {
    return /(a-z)/.test(text);
}

function checkIfUppercase(text) {
    return /(A-Z){2,}/g.test(text);
}

function checkIfDigit(text) {
    return /(0-9){5,}/.test(text);
}

function checkIfOneSpecialChar(text) {
    return /(~`!#$%^&*+=-()\';,/{}|\":<>?)/g.test(text);
} ```