JSFiddle - React, Tailwind, and code Playground

by ghostoy

JavaScript

function getParam(url, param) {
    var qmark = url.indexOf('?'),
        hmark = url.indexOf('#'),
        queryParts, queryPart;
    
    if (qmark == -1) return null;  // no query string in url
    
    queryParts = url.substring(qmark + 1, hmark != -1 ? hmark : qmark.length).split('&');
    for(var i = 0, length = queryParts.length; i < length; i++) {
        queryPart = queryParts[i].split('=');
        if (queryPart.length != 2) {
            console.log('malformed');
            return null;  // malformed query
        }
        
        if(decodeURIComponent(queryPart[0]) == param) return decodeURIComponent(queryPart[1]);
    }
    
    return null;  // no such param
}

document.write(getParam('/users/xxxx?width=640', 'width'));