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