JSFiddle - React, Tailwind, and code Playground
by hyperthalamus
HTML
<div id="test"></div>
JavaScript
RegExp.quote = function(str) {
return str.replace(/([.?*+^$[\]\\(){}-])/g, "\\$1");
};
testClass = function(){
}
var proto = testClass.prototype;
proto.supportedTokens = {
'[page]' : function(list){
return list.getCurrentPage();
},
'[startIndex]' : function(list){
return list.queryIndex;
},
'[requestQty]' : function(list){
return list.requestQty;
},
'[endIndex]' : function(list){
return list.queryIndex + list.requestQty;
}
}
proto.getCurrentPage = function(){
return Math.round(this.queryIndex / this.requestQty);
}
proto.getPageRequest = function(url){
for(var t in this.supportedTokens){
var token = new RegExp(RegExp.quote(t), "g");
url = url.replace(token , this.supportedTokens[t](this));
}
return url;
}
var url = "http://www.mysite.com/myFolder/?p=[page]&startIndex=[startIndex]&duplicatePage=[page]";
$(function(){
var test = new testClass();
var newURL = test.getPageRequest(url);
$("#test").append(newURL);
});