function isAllCharPresent(str) {
const charTypes = new Set();
const specialCharacters = new Set(['!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '-', '=', '[', ']', '{', '}', ';', ':', '"', '\\', '|', ',', '.', '<', '>', '/', '?']);
for (const char of str) {
if (/[A-Z]/.test(char)) {
charTypes.add('uppercase');
} else if (/[a-z]/.test(char)) {
charTypes.add('lowercase');
} else if (/\d/.test(char)) {
charTypes.add('numeric');
} else if (specialCharacters.has(char)) {
charTypes.add('special');
}
}
return charTypes.has('uppercase') && charTypes.has('lowercase') && charTypes.has('numeric') && charTypes.has('special');
}
const str1 = "#GeeksForGeeks123@";
console.log(isAllCharPresent(str1));
const str2 = "GeeksforGeeks";
console.log(isAllCharPresent(str2));