Rot13

1
2
3
4
5
6
7
8
9
function rot13(message){
return (message ? message : this).split('').map(function(_)
{
if (!_.match(/[A-za-z]/)) return _;
var c = Math.floor(_.charCodeAt(0) / 97);
var k = (_.toLowerCase().charCodeAt(0) - 83) % 26 || 26;
return String.fromCharCode(k + ((c == 0) ? 64 : 96));
}).join('');
}