我收到了来自此车把的“ $ 100.00-$ 209.00”(请参阅第二行代码)
(这是一个价格范围)
我需要格式化它,所以它只显示最低价格。
不幸的是,我无法格式化原始代码,而需要使用HTML或类似格式来格式化代码。
我的问题是:收到后,有什么方法可以格式化它?
谢谢
<span class="price after_special>
{{price<?php echo $priceKey; ?>_formated}}
</span>
该代码返回$ 100.00-$ 209.00 我只需要100美元
谢谢。
答案 0 :(得分:0)
您可以使用javascript的String.match()函数来格式化字符串。在下面的代码中,正则表达式将匹配:
^
-字符串的开头\$
-$号(需要转义)[0-9]*
-0到9之间的数字,*
匹配0个或多个数字返回的项目是一个数组,因此您需要使用[0]
获取第一个值。
let price = '$100.00 - $209.00';
const regex = /^\$[0-9]*/;
let min = price.match(regex)[0];
console.log(min);
如果您需要在模板中进行操作,请注册一个助手
Handlebars.registerHelper('getMinPrice', function(value) {
return value.match(/^\$[0-9]*/)[0];
});
var t = Handlebars.compile($('#t').html());
$('body').append(t({
_min_price: "$100.00 - $200.00"
}));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.1.2/handlebars.min.js"></script>
<script id="t" type="text/x-handlebars">
Before: {{_min_price}}
After: {{getMinPrice _min_price}}
</script>