JSFiddle - React, Tailwind, and code Playground

by dshilkret

JavaScript

var url = "https://ven02714.service-now.com/discoverdocintegratorportal?id=form_automation_2_column&sys_id=1f22b62b1ba771101619fc031d4bcbd0&form_instance=1322b62b1ba771101619fc031d4bcbd0&spa=1";
 extractValue(url);
  function extractValue(url) {
  			var retVal;
        var url = url;
        var thirdSlashIndex = getNthOccurrence(url, '/', 3);
        var questionMarkIndex = url.indexOf('?');

        if (thirdSlashIndex != -1 && questionMarkIndex != -1) {
            retVal = url.substring(thirdSlashIndex + 1, questionMarkIndex);
            console.log("retVal: " + retVal);
        } else {
            return ''; 
        }
    }


    function getNthOccurrence(string, char, nth) {
        var firstIndex = string.indexOf(char);
        var lengthUpToFirstIndex = firstIndex + 1;

        if (nth === 1) {
            return firstIndex;
        } else {
            var stringAfterFirstOccurrence = string.slice(lengthUpToFirstIndex);
            var nextOccurrence = getNthOccurrence(stringAfterFirstOccurrence, char, nth - 1);

            if (nextOccurrence === -1) {
                return -1;
            } else {
                return lengthUpToFirstIndex + nextOccurrence; 
            }
        }
    }