This tests \ characters being changed to / in all different scenarios. If it works you should see seven messages below that have \ or / characters as specified. 1 2 3 4 5 6 7 javascript: function argument containing a backslash (\) should not be converted to a slash (/): "alert('to be\\not')" http: base should convert a \ to a / : "http://apple.com/support" https: base should also convert a \ to a / : "https://login.apple.com/support/" file: base should convert a \ to a / : "file:///Users/" any other valid base except javascript: should convert a \ to a / : "ftp://apple.com/support/" query strings should be left alone: "http://apple.com/support?path=\\myshare\myfolder\myfile\" anchors should be left alone as well: "http://apple.com/support#path=\\myshare\myfolder\myfile\"