用程序员的方式生成大小写字母数组
生成大写字母
function upperCaseChars(){
//生成大写字母,A的Unicode值为65
var str = [];
for(var i=65;i<91;i++){
str.push(String.fromCharCode(i));
}
return str;
}
生成小写字母
function lowerCaseChars(){
//生成小写字母,a的Unicode值为97
var str = [];
for(var i=97;i<123;i++){
str.push(String.fromCharCode(i));
}
return str;
}
字符串倒置的方法
function reverseStr( str ){
//字符串倒置
return str.split('').reverse().join('');
};
十进制转二进制
function int2Byte(num){
//十进制转二进制
return num.toString(2);
}
一个小应用,输入一个十进制的数,然后转换成二进制,再根据二进制,从最后一位开始和字母匹配,0不展示相应字母,1展示相应字母,输出最终字母组成的字符串
<!DOCTYPE html>
<html>
<head>
<title>十进制转二进制再转字母</title>
</head>
<body>
<input type="number" name="num" id="demo">
<button onclick="caculateInputValue()">转换</button>
<p id="byteStr"></p>
<p id="result"></p>
</body>
<script type="text/javascript">
function upperCaseChars(){
//生成大写字母 A的Unicode值为65
var str = [];
for(var i=65;i<91;i++){
str.push(String.fromCharCode(i));
}
return str;
}
function lowerCaseChars(){
//生成大写字母 a的Unicode值为97
var str = [];
for(var i=97;i<123;i++){
str.push(String.fromCharCode(i));
}
return str;
}
function int2Byte(num){
//十进制转二进制
return num.toString(2);
}
function reverseStr( str ){
//字符串倒置
return str.split('').reverse().join('');
};
function outputResult(num){
var strB = int2Byte(num);//十转二
var strBReversed = reverseStr(strB);//倒置二进制字符串,后面会再倒置回来
var strBReversedArr = strBReversed.split('');//将字符串转数组
var lowerCaseCharsArr = lowerCaseChars();//获取小写英文字母数组
var upperCaseCharsArr = upperCaseChars();//获取大写英文字母数组
var charsConcat = lowerCaseCharsArr.concat(upperCaseCharsArr);//拼接两个数组,前面是小写字母,后面是大写字母
console.log(charsConcat);
var numCharsArr = [];
if(strBReversedArr.length < 50 && strBReversedArr.length > 0){
for( var i=0; i < strBReversedArr.length; i++ ) {
numCharsArr.push( strBReversedArr[i] + charsConcat[i] );
}
}
else {
alert('二进制数字应该小于50位!');
return;
}
console.log(numCharsArr);
var resultArr = [];
for( var j=0; j < numCharsArr.length; j++ ) {
if(numCharsArr[j].split('')[0] === '1') {
resultArr.push(numCharsArr[j].split('')[1]);
}
}
console.log(resultArr);
return reverseStr(resultArr.join(''));
}
function caculateInputValue(){
var inputValue = document.getElementById("demo").value;
console.log(inputValue);
if( Number(inputValue) < 1) {
alert('请输入正确的数字!');
return;
}
document.getElementById("byteStr").innerHTML = '十进制转二进制结果:' + int2Byte(Number(inputValue));
document.getElementById("result").innerHTML = '计算结果:' + outputResult(Number(inputValue));
console.log('计算结果',outputResult(Number(inputValue)));
}
</script>
</html>