price-normalizer
JS code for price-normalizer extension
by stichoza
HTML
$200.01<br/>
$199.95<br/>
$ 5 502.2<br/>
$n 52.5<br/>
$ 52.5<br/>
$ 251.0<br/>
$ 2,254.68<br/>
CSS
.__prcm__ { color: red; }
JavaScript
var __prcm_rex__ = new RegExp("([$€₠₡₢₣₤₥₦₧₨₩₪₫₭₮₯₰₱₲₳₴₵₶₷₸₹₺])+([0-9, ]{1,10})+([.]{0,1})+([0-9]{1,5})", "igm");
var __prcm_rpl__ = function (s) {
return r = s.replace(/([0-9, ]{1,10})+([.]{0,1})+([0-9]{1,5})/, __prcm_ceil__);
}
var __prcm_ceil__ = function (s) {
s = parseFloat(s.replace(/([, ])/gi, ""), 10);
var r = Math.round(s);
return (r<s) ? s : "<span class=\"__prcm__\" title=\"Original price was "+s+"\">"+r+"</span>";
}
var __prcm_elem__ = document.getElementsByTagName("body")[0];
var __prcm_match__ = __prcm_elem__.innerHTML.match(__prcm_rex__);
var __prcm_count__ = (__prcm_match__ == null) ? 0 : __prcm_elem__.innerHTML.match(__prcm_rex__).length;
if (__prcm_count__) {
var __prcm_newsrc__ = __prcm_elem__.innerHTML.replace(__prcm_rex__, __prcm_rpl__);
__prcm_elem__.innerHTML = __prcm_newsrc__;
console.log("price-normalizer: replaced "+__prcm_count__+" entries");
}