初级算法代码-位移密码

位移密码算法

写一个函数,参照ROT13密码,实现输入加密字符串,输出解密字符串。(字母会移位13个位置。由’A’ ↔ ‘N’, ‘B’ ↔’O’,以此类推)。

字母都是大写,不转化任何非字母形式的字符(空格,标点符号)

function rot13(str) {
     
	var arr = str.split('');
	arr = arr.map(function (item) {
     
	    if(/[A-Z]/.test(item)){
       //判断字母
	        var num = 0;
	        if(item.charCodeAt() - 13 < 65){
       //若是小于A,则返回从Z往前算
	            num = 90 - (65 - (item.charCodeAt() - 13) - 1);
	        }else{
     
	            num = item.charCodeAt() - 13;  //得出字符编号
	        };
	        strs = String.fromCharCode(num);  //根据计算后的字符编号找出字符
	       	return strs;
	    }else{
     
	        return item;
	    };
	});
	arr = arr.join('');
	return arr;
}
rot13("SERR PBQR PNZC");

你可能感兴趣的:(算法)