需要将应用于图像的过滤器样式转换为特定的JSON格式以存储在数据库中。
写了一个方法来做到这一点,但卡在中间。
<img src="image1.jpg" class="img-responsive" style="-webkit-filter: brightness(161%) contrast(62%) invert(27%) saturate(193%);">//Filters will be in same order
需要创建JSON格式,如{&#34;亮度&#34;:&#34; 161&#34;,&#34;对比&#34;:&#34; 62&#34;,&#34;反转&#34;:&#34; 27&#34;&#34;饱和&#34;:&#34; 193&#34;}
我试过了:
var style= "-webkit-filter: brightness(161%) contrast(62%) invert(27%) saturate(193%)";
alert(JSON.stringify(crtJson(style)));
function crtJson(paramString){
var paramArray = (paramString.replace(/[^\d]/g, ''));
return paramArray;//comes like 1616227193 [no clue how to split.Got stuck]
}
Js fiddle here。
答案 0 :(得分:0)
答案 1 :(得分:0)
即使过滤器被洗牌也能正常工作。
以下是使用match()方法和捕获括号的代码:
var style= "-webkit-filter: brightness(161%) contrast(62%) invert(27%) saturate(193%)";
alert(JSON.stringify(crtJson(style)));
function crtJson(paramString){
var paramArray = {};
var regexp = /([a-zA-Z]+)\(([0-9]+)%\)/g;
var array = regexp.exec(paramString);
while(array != null)
{
paramArray[array[1]] = array[2];
array = regexp.exec(paramString);
}
return paramArray;
}