Javascript basename() and dirname()

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

javascript

  1. function basename(path) {
  2.     return path.replace(/\\/g,'/').replace( /.*\//, '' );
  3. }
  4.  
  5. function dirname(path) {
  6.     return path.replace(/\\/g,'/').replace(/\/[^\/]*$/, '');;
  7. }

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.