判断颜色是否合法的正则表达式(详解)

它是那样的舒展,那样高雅。特别是盛夏时节,热青奔放,有粉的,白的,紫的……,互不相让,竟相开放,它们好象正在表演一场时装表演。在巨大的碧绿的荷叶上,小水珠滚来滚去,偶尔一些小青蛙跳上一片荷叶,把荷叶当做歌台。在陽光的照耀下,水珠闪闪发光,显得楚楚动人。

"^#([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进制。

以上这篇判断颜色是否合法的正则表达式(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

您可能有感兴趣的文章
JS获取鼠标点击时的位置

vue、nginx部署后刷新报404错误的解决方法

electron-builder配置项

VUE聊天页面自动滚动到底部

VUE CTRL+ENTER换行,ENTER发送消息