How to check if a string is a valid hex color representation?

后端 未结 7 517
迷失自我
迷失自我 2020-11-28 03:47

For example:

AA33FF = valid hex color

Z34FF9 = invalid hex color (has Z in it)

AA33FF11 = invalid hex color (h

7条回答
  •  春和景丽
    2020-11-28 04:06

    /^#[0-9A-F]{6}$/i.test('#AABBCC')
    

    To elaborate:

    ^ -> match beginning
    # -> a hash
    [0-9A-F] -> any integer from 0 to 9 and any letter from A to F
    {6} -> the previous group appears exactly 6 times
    $ -> match end
    i -> ignore case

    If you need support for 3-character HEX codes, use the following:

    /^#([0-9A-F]{3}){1,2}$/i.test('#ABC')
    

    The only difference here is that

     [0-9A-F]{6}
    

    is replaced with

    ([0-9A-F]{3}){1,2}
    

    This means that instead of matching exactly 6 characters, it will match exactly 3 characters, but 1 or 2 times. Allowing ABC and AABBCC, but not ABCD

提交回复
热议问题