//var postData = "&id=0&Delimiter=+&bom=&&name=lee";
var postData = 'a=0&b=DataFromFile&c=&d=&pos=10&delimiter=+&path=';
var tmp = '';
//This pattern is to get key & value, it has problem dealing with empty value
//var pattern = /[?&]([a-z]+)=([a-z0-9]+|[&+?=;:]{1})/gi;
var pattern = /[?&]?([a-z0-9]+)=/gi;
var matches = postData.match(pattern);
if(matches) {
var key = '';
var value = '';
for(var i = 0; i < matches.length; i++) {
key = matches[i];
if((i + 1) < matches.length) {
value = postData.substring(postData.indexOf(matches[i]) + matches[i].length, postData.indexOf(matches[i+1]));
}
else {
value = postData.substr(postData.indexOf(matches[i]) + matches[i].length);
}
tmp += key + encodeURIComponent(value);
document.write(matches[i] + '<br>key:[' + key + ']; value:[' + value + ']<br><br>');
}
document.write('<br>');
document.write(tmp);
}