JS:需要一个基于字符串的css颜色代码

han*_*rik 1 javascript css string random colors

我需要一个函数来生成一个CSS颜色,基于一个范围为min: #000000和的字符串max: #FFFFFF.如果输入字符串中的长度或任何字符发生更改,则该函数应返回不同的颜色(但必须始终在同一字符串输入上返回相同的颜色).

例如:

f("Reddit") ==>#FF0000

f("Smith") ==>#FFC0CB   

f("Smixh")==>#F008FF

f("Smith") ==>#FFC0CB

f("foo")==>#FF00FF

f("Reddit") ==>#FF0000
Run Code Online (Sandbox Code Playgroud)

等等.知道怎么做吗?

Ble*_*der 14

我将散列字符串并使用十六进制校验和的前六个字符作为十六进制颜色代码:

function color(string) {
    return '#' + md5(string).slice(0, 6);
}
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/4PMnA/48/

  • jsfiddle demo不再工作了(加载md5 lib的问题).修正版:http://jsfiddle.net/4PMnA/48/ (2认同)