🐈

【JS】有効なカラーコードかどうかチェックする

1 min read

有効なカラーコードの条件

  • #で始まること
  • #以外は6文字とする
  • 6文字はアルファベット及び数字のみ
  • アルファベットは A-F, a-f のみ

正規表現でチェックする方法

function isValid(colorCode){
    return /^#[0-9A-Fa-f]{6}$/.test(colorCode);
}

僕がやってためんどくさい方法

function isValid(colorCode){
    //#で始まらなかったらfalse
    if(colorCode[0] != "#") return false;

    //全部で7文字じゃなかったらfalse
    if(colorCode.length !== 7) return false;

    //数字もしくはアルファベットじゃなかった場合はfalse;
    return isNumOrAlphabet(colorCode.slice(1));
}

function isNumOrAlphabet(str) {
    const numAndAlphabet = 
    ["A", "B", "C", "D", "E", "F", 
    "a", "b", "c", "d", "e", "f", 
    "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
    if(str === "") return true;
    if(!numAndAlphabet.includes(str[0])) return false;
    return isNumOrAlphabet(str.substring(1));
}

まとめ

正規表現ってすごい()
もっといい方法や間違ってる箇所があれば教えてください^_^

良さそうなサイトがあったので必要にあった時に随時見ていこーっと^_^

https://murashun.jp/article/programming/regular-expression.html

Discussion

ログインするとコメントできます