尘埃中的正则表达式比较

时间:2018-02-22 14:22:43

标签: dust.js dust-helpers

有没有办法使用灰尘模板进行正则表达式比较。

例如:         @select key="{notes}"} {@eq value="s+"} sample: {notes} {/eq} {@default} {notes} {/default} {/select}

我想要以's'作为开头的任何音符,打印为“sample:{notes}”否则它会直接打印{notes}。

使用任何外部助手是否可以这样做?

1 个答案:

答案 0 :(得分:0)

您可以使用助手功能

助手

dust.helpers.regexp = function(chunk, context, bodies, params) {
  var regexp = new RegExp(params.pattern, params.flag);
  if (regexp.test(params.term)) {
    return chunk.render(bodies.block, context);
  } else {
    return chunk.render(bodies['else'], context);
  }
}

用法

{@regexp term=notes pattern="^[sS](\w+)" flag="g"}
  sample: {notes}
{:else}
  {notes}  
{/regexp}

DustJS helpers