JSFiddle - React, Tailwind, and code Playground
by SpAm
HTML
<input type="text" id="startingChar" />
<textarea id="myInput" cols="60" rows="30"></textarea>
<button onclick="go()">Go</button>
JavaScript
function go()
{
var startingChar = document.getELementById("startingChar");
replaceString(4, ".");
replaceString(3, ".");
replaceString(2, ".");
}
function replaceString(parts, prefix)
{
var inputField = document.getElementById('myInput');
var input = inputField.value;
var test = input;
var res = "";
var reg = "[" + prefix + "]([A-Z]+)_([A-Z]+)";
for(var i=2;i<parts;i++)
{
reg = reg + "_([A-Z]+)";
}
alert(reg);
var rege = new RegExp(reg);
while(res!=null)
{
test = input;
res = rege.exec(test);
if(res!=null)
{
var newValue = "";
var first = RegExp.$1.toLowerCase();
newValue += first;
for(t=2;t<(parts+1);t++)
{
newValue += RegExp["$"+t].substring(0,1) + RegExp["$"+t].toLowerCase().substring(1);
}
input = input.replace(res[0],prefix+newValue);
inputField.value = input;
}
}
}