function verifyAllUpperOrAllLowerOrIsCapitalized(word) {
let upper = 0;
let lower = 0;
for (const ch of word) {
if (ch >= 'a' && ch <= 'z') {
lower++;
} else if (ch >= 'A' && ch <= 'Z') {
upper++;
}
}
// Case 1: all lowercase
if (upper === 0) return true;
// Case 2: all uppercase
if (lower === 0) return true;
// Case 3: capitalized (only first letter uppercase)
if (upper === 1 && word[0] >= 'A' && word[0] <= 'Z') return true;
// Otherwise, mixed casing
return false;
}
function runTest(word) {
console.log(`Testing word: "${word}"`);
if (verifyAllUpperOrAllLowerOrIsCapitalized(word)) {
console.log("OK\n");
} else {
console.log("Error\n");
}
}
runTest("PROGRAMMING");
runTest("programming");
runTest("Programming");
runTest("ProGramMing");
/*
run:
Testing word: "PROGRAMMING"
OK
Testing word: "programming"
OK
Testing word: "Programming"
OK
Testing word: "ProGramMing"
Error
*/