2
A
回答
3
可以匹配十六进制颜色是这样的:
if (/^#[0-9a-f]{3}([0-9a-f]{3})?$/i.test(str)) {
//Match
}
注意,这不会处理名称或rgb(n, n, n)
。
可以匹配rgb(x, y, z)
颜色是这样的:
if (/^rgb\s*(\s*[012]?[0-9]{1,2}\s*,\s*[012]?[0-9]{1,2}\s*,\s*[012]?[0-9]{1,2}\s*)$/i.test(str)) {
//Match
}
注意,这将匹配rgb(299, 299, 299)
。
2
你可以创建一个抽象元素,尝试将颜色应用于该元素:
function validate_color(c) {
var litmus = 'red';
var d = document.createElement('div');
d.style.color=litmus;
d.style.color=c;
//Element's style.color will be reverted to litmus or set to '' if an invalid color is given
if(c !== litmus && (d.style.color === litmus || d.style.color === '')){
return false;
}
return true;
}
+0
这正是我需要它做的,谢谢!快速的问题....我找不到很多文件来设置style.color。虽然它似乎在我测试的所有浏览器中都能正常工作,但是在任何官方文档(无法将style.color设置为无效值)中的任何位置都有此行为?另外,我注意到它不介意右括号是否丢失,例如“rgba(11,11,11”是有效的。不是说这是一个问题,只是想知道为什么会这样? – Brandon 2017-09-30 23:22:49
相关问题
- 1. X/HTML,CSS中的颜色代码
- 2. 将RGBA颜色转换为HTML颜色代码
- 3. 用户使用HTML颜色代码选择背景颜色
- 4. 从.png文件中获取颜色的HTML颜色代码?
- 5. 验证CSS颜色名称
- 6. HTML颜色代码:红色到黄色到绿色
- 7. 验证JS代码的API /库/工具?
- 8. HTML验证/脚本JS
- 9. HTML表单验证在JS
- 10. HTML/Javascript代码不会验证表单
- 11. 如何验证JavaScript和HTML代码?
- 12. 验证gmail的HTML代码的方法?
- 13. JS验证器替代JSLint?
- 14. Verilog代码颜色丢失
- 15. 颜色代码表标签
- 16. Python ANSI颜色代码
- 17. bash - 颜色转义代码
- 18. DarkGDK颜色渐变代码
- 19. Visual Studio C#代码颜色
- 20. 颜色变化代码
- 21. 缺少颜色代码2008
- 22. 如何仅生成黑暗的html颜色代码以用作字体颜色?
- 23. 在Android中获取`Color.xml`中保存的颜色的html颜色代码
- 24. VS2008 aspx页面上没有颜色编码html代码
- 25. 验证JavaScript代码
- 26. Emacs代码验证
- 27. iOS验证uiview已更改颜色
- 28. 验证字体和颜色NSToolbarItem项目
- 29. jquery输入验证+背景颜色
- 30. jQuery表单验证颜色变化?
它将处理#aaa其中,虽然是一个非常好的CSS颜色代码是(如RGB())不是有效的HTML颜色代码。 – Quentin 2010-05-12 14:24:21
?? 3位数的颜色代码绝对有效。它们的含义与6位代码相同,每个颜色部分的第二位数字为“0”。 – Pointy 2010-05-12 14:27:28
注意:你需要在第二个块的周围有一个(?:)分组(将字符串转换为if(/ ^#[0-9a-f] {3}(?:[0-9a-f]){3 })?$/i.test(str))' - 否则像'#aba'这样的颜色代码不匹配 – ABach 2010-05-12 14:27:49