I use algorithm kindly provided by TheSpanishInquisition here: http://jsperf.com/damerau-levenshtein-distance.
All credits goes there. I have only packed it into Node module.
It provides a function that takes two string arguments and returns a hash like this:
steps: 5 // Levenstein demerau distancerelative: 07 // steps / length of the longer stringsimilarity: 03 // 1 - relative
Please see tests for more insights.