給定一個字符串像#fff443
或#999999
在Javascript正則表達式中,如何驗證字符串是否爲有效的十六進制顏色?
如何驗證字符串有:
- 7個字符,第一個是一個哈希
- 字符串中沒有符號除了散列開始
給定一個字符串像#fff443
或#999999
在Javascript正則表達式中,如何驗證字符串是否爲有效的十六進制顏色?
如何驗證字符串有:
看來,要針對CSS配色:
function isValidColor(str) {
return str.match(/^#[a-f0-9]{6}$/i) !== null;
}
要闡述:
^
比賽開始
#
哈希
[a-f0-9]
從AF任何字母和0-9
{6}
出現的前一組剛好6次
$
比賽結束
i
忽略大小寫
noot quite先進的正則表達式,並不包括所有的情況 – 2012-01-15 10:04:45
@羅伊納米爾:根據OP的嚴格要求,這不包括什麼? – 2012-01-15 10:05:38
@橋:他也不知道一個十六進制可以是'#aca' – 2012-01-15 10:09:54
有很多方法來檢查差異erent結構:看到我的高級答案:http://stackoverflow.com/questions/8027423/how-to-check-if-a-string-is-a-valid-hex-color-representation/8027444#8027444 – 2012-01-15 10:05:31