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;
        }        
    }
    
    
}