console
window.onload = function() {
var letter = document.getElementById('letter');
var result = document.getElementById('result');
var showDiv = document.getElementById('show');
result.onclick = function() {
var letterStr = letter.value;
var lettterArr = letterStr.split(/[\n]/);
var newArr = lettterArr.map(function(item) {
return handle(item);
});
showDiv.innerHTML = newArr.join('<br />');
}
}
var upperMin = 65; //大写最小asc
var upperMax = 90; //大写最大asc
var lowerMin = 97; //小写最小asc
var lowerMax = 122; //小写最大asc
//处理函数
function handle(letterStr) {
var s = [];
if(!/[a-zA-Z]/.test(letterStr)) {
alert('请输入大小英文字符');
return;
}
for(var i=0; i<letterStr.length; i++) {
var _code = letterStr[i].charCodeAt(); //获取每个字符的asc码
var _move = _code+3; //向后移动3位
//输入大写且asc大于90 或 输入小写且值大于122,均超出英文字符的范围,都减去23
if((/[A-Z]/.test(letterStr[i])&&_move > upperMax) || (/[a-z]/.test(letterStr[i])&&_move > lowerMax)) {
//超出最大asc,减去23
_move = _code - 23;
}
s.push(String.fromCharCode(_move));
}
return s.join('');
}
<textarea type="text" id="letter" cols="50" rows="5"></textarea>
<button id="result">转换</button>
<div id="show"></div>