Javascript basename() and dirname()

For my next stuff I needed the Javascript equivalents of PHP functions basename() and dirname(). Nothing genius:

function basename(path) {
    return path.replace(/\\/g,'/').replace( /.*\//, '' );
}

function dirname(path) {
    return path.replace(/\\/g,'/').replace(/\/[^\/]*$/, '');;
}

It obviously supports paths like /home/ozh/stuff.php, http://site.com/file.ext or double backslashed Win32 paths such as C:\\dir\\document.txt.

Edit: Mister Ze in comments points out to PHP.JS, an ongoing project aiming to port PHP to Javascript. Some really neat stuff there.

3 comments

  1. Ze

    You can find many implementation of php functions in javascript here:

    http://kevin.vanzonneveld.net/techblog/article/phpjs_licensing/

    basename() is implemented in php.JS project but no dirname(), propose your code :)

  2. Ozh

    Ze ยป cool ! :)

  3. Tarun Nagpal

    Thanks. This help

Comments are closed.