JSFiddle - React, Tailwind, and code Playground
by Peter Hozák
JavaScript
'use strict';
var saferEval = function (s) {
var deteleGlobals = 'var ' + Object.getOwnPropertyNames(window).join(',').replace(/(?:eval|chrome:[^,]*),/g, '') + ',alert,confirm,prompt,setTimeout;';
try {
return eval(deteleGlobals + '(' + s + ');') || s;
} catch (e) {
return s;
};
};
var search = location.search ? decodeURIComponent(location.search).substring(1).split('&') : ['boo=setTimeout("alert(1)",2000)', 'filter={a: /^t.../, b: function(i){return i+1;}}'];
var params = {};
for (var i = 0, temp; i < search.length; i++) {
temp = search[i].split('=');
temp = temp[1] ? temp : [temp[0], null];
params[temp[0]] = saferEval(temp[1]);
};
console.log(params);
$('body').append('test101gg102g'.match(params.filter.a));
$('body').append('<br>' + params.filter.b(666));