ソース
JScriptでは、正規表現のところに\がないと動かなかったというオチ。
function RND(tmpl, ns) { var fn = function(w, g) { g = g.split("|"); var cnt = ns[g[0]]; for(var i=1; i<g.length; i++) { cnt = eval(g[i])(cnt); } return cnt || w; }; return tmpl.replace(/%\(([A-Za-z0-9_|.]+)\)/g, fn); } var tmpl = '<a href="%(link)">%(value|parseInt)</a>'; var ns = {'link': 'http://amix.dk', 'value': 5.5}; WScript.Echo(RND(tmpl, ns));
出力結果
--------------------------- Windows Script Host --------------------------- <a href="http://amix.dk">5</a> --------------------------- OK ---------------------------