All work and no play makes Jack a dull boy

segunda-feira, 3 de novembro de 2014

Parseando url com javascript

Existe um truque excelente para parsear urls com javascript, que foi apresentado por John Long no Github. Essa técnica funciona bem, mas com o uso da propriedade search seria um uma query string. Isto não é muito útil caso você precise acessar certas variáveis. Assim,  a seguinte função expande esse paradigma, provendo uma propriedade adicional num objeto baseado na query string original.
function parseURL(url) {

    var parser = document.createElement('a'),

        searchObject = {},

        queries, split, i;

    // Let the browser do the work

    parser.href = url;

    // Convert query string to object

    queries = parser.search.replace(/^\?/, '').split('&');

    for( i = 0; i < queries.length; i++ ) {

        split = queries[i].split('=');

        searchObject[split[0]] = split[1];

    }

    return {

        protocol: parser.protocol,

        host: parser.host,

        hostname: parser.hostname,

        port: parser.port,

        pathname: parser.pathname,

        search: parser.search,

        searchObject: searchObject,

        hash: parser.hash

    };

}
Fonte.

Nenhum comentário:

Postar um comentário