curriculum/challenges/english/blocks/daily-coding-challenges-javascript/696655d24b614176d4c9b789.md
Given a string, determine whether it is a valid CSS hex color. A valid CSS hex color must:
#, andHexadecimal characters are numbers 0 through 9 and letters a through f (case-insensitive).
isValidHex("#123") should return true.
assert.isTrue(isValidHex("#123"));
isValidHex("#123abc") should return true.
assert.isTrue(isValidHex("#123abc"));
isValidHex("#ABCDEF") should return true.
assert.isTrue(isValidHex("#ABCDEF"));
isValidHex("#0a1B2c") should return true.
assert.isTrue(isValidHex("#0a1B2c"));
isValidHex("#12G") should return false.
assert.isFalse(isValidHex("#12G"));
isValidHex("#1234567") should return false.
assert.isFalse(isValidHex("#1234567"));
isValidHex("#12 3") should return false.
assert.isFalse(isValidHex("#12 3"));
isValidHex("fff") should return false.
assert.isFalse(isValidHex("fff"));
function isValidHex(str) {
return str;
}
function isValidHex(str) {
if (str[0] !== "#") return false;
const hex = str.slice(1);
if (hex.length !== 3 && hex.length !== 6) return false;
for (let char of hex) {
if (!/[0-9a-fA-F]/.test(char)) {
return false;
}
}
return true;
}