type CharacterCounts = {
uppercase: number;
lowercase: number;
digits: number;
special: number;
};
function countCharacters(text: string): CharacterCounts {
const uppercase: number = (text.match(/[A-Z]/g) || []).length;
const lowercase: number = (text.match(/[a-z]/g) || []).length;
const digits: number = (text.match(/\d/g) || []).length;
const special: number = (text.match(/[^A-Za-z0-9]/g) || []).length;
return { uppercase, lowercase, digits, special };
}
const s = "Programming&AI@2026!";
const { uppercase, lowercase, digits, special } = countCharacters(s);
console.log("Uppercase:", uppercase);
console.log("Lowercase:", lowercase);
console.log("Digits:", digits);
console.log("Special characters:", special);
/*
run:
"Uppercase:", 3
"Lowercase:", 10
"Digits:", 4
"Special characters:", 3
*/