"^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$";
意思是:以#開頭,后面是數字和a-f的字符(大寫或小寫),這個值是6位或3位。要匹配一個3為是為了符合css顏色的簡寫規則:
"#abc"=="#aabbcc"
注意:如果需要進行16位和10位的轉換,比如將顏色值轉成int存在數據庫,如果是6位的顏色沒問題,如果是3位的顏色就有問題了,因為當你取回來從10進制轉為
16進制的時候,你不知道他應該是3位還是6位。
比如:#0000ff==轉10進制==>255。如果是轉回來呢:255==轉16進制==>ff,如果你知道是6位你可以自己加上“#0000”就變成“#0000ff”,如果是三位就變成“#0ff”
因此,如果是需要轉10進制保存的情況下,不應該讓3位的顏色值存在,或者應該在保存之前給他統一轉成6位的顏色值再轉10進制。
以上這篇判斷顏色是否合法的正則表達式(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答