Я написал плагин jQuery, который принимает цвета css для некоторых его параметров.
Я хочу проверить их. Если бы это было просто значение hex или rgb, я мог бы сделать это с помощью обычного выражения, но как я могу проверить все 147 допустимых имен цветов без раздувания плагина?
Мне было интересно, есть ли способ применить стиль (возможно, с jquery), а затем поймать ошибку в браузере, если это недействительно?
Edit: powtac и Pantelis придумали решение, но оба они пропустили край, поэтому я включаю здесь полное решение:
var validateCssColour = function(colour){
var rgb = $('<div style="color:#28e32a">'); // Use a non standard dummy colour to ease checking for edge cases
var valid_rgb = "rgb(40, 227, 42)";
rgb.css("color", colour);
if(rgb.css('color') == valid_rgb && colour != ':#28e32a' && colour.replace(/ /g,"") != valid_rgb.replace(/ /g,""))
return false;
else
return true;
};