我在我的项目中实施了TinyColor。我使用rgb属性&无效值创建了一个对象:
if-statement
然后我创建了一个if (tinycolor(value).isValid()) {
console.log("Good :)");
} else {
console.log("Wrong!!!");
}
来检查它是否是有效的颜色:
value = 'rgb (abc, something, hello)';
无论我给予什么价值观,我总能得到“好”:'登录。然后我尝试使用字符串;
value = {
r: 'abc',
g: 'something',
b: 'hello'
};
//value = 'rgb (abc, something, hello)';
if (tinycolor(value).isValid()) {
console.log("Good :)");
} else {
console.log("Wrong!!!");
}
这给了我正确的输出。如果它是无效的颜色,我会发现错误!!!&#39;如果它是有效的颜色,我会得到“好的:”&#39;。< / p>
使用属性时如何检查无效颜色?
代码段也没有加载文件。不知道为什么。
<script src="https://raw.githubusercontent.com/bgrins/TinyColor/master/tinycolor.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
numRegex.exec
&#13;
答案 0 :(得分:0)
tinyColor rgb对象转换将具有三个属性r,b和g的任何对象视为有效输入。这是相关的代码 -
if (typeof color == "object") {
if (color.hasOwnProperty("r") && color.hasOwnProperty("g") && color.hasOwnProperty("b")) {
rgb = rgbToRgb(color.r, color.g, color.b);
ok = true;
format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb";
}
查看属性检查然后ok = true?那肯定最终是isValid的回归。