JSFiddle - React, Tailwind, and code Playground

by ooflorent

JavaScript

var case1 = "stack(2),flow(2),over(4),temp(7)"; // - true
var case2 = "stack(2),flow(3),over(4),temp(k)"; // - false
var case3 = "stack(2),flow(2),over(4),temp(0"; // - false
var case4 = "stack(2),flow(2),over(,temp)"; // - false
var case5 = "stack(2),flow(2),over(4)temp(8)"; // - false
var case6 = "stack(1),flow(7),over,temp"; // - true
var case7 = "stack(1),flow(7),OVER,Temp"; // - true
var case8 = "stack(1),flow(7),over_r,temp_t"; // - true

function processStr(str) {
    return str.split(',').map(function(s) {
        if (s.match(/^[a-z]+\(\d+\)$/i)) {
            // string is valid
            return s;
        } else {
            // you can do processing here based on the failure reason
            return s + '(1)';
        }
    }).join(',');
}

for (var i = 1; i <= 8; i++) {
    var currCase = eval('case' + i);
    console.log(currCase, processStr(currCase)); 
}