js获取大小写字母的方法

用程序员的方式生成大小写字母数组

生成大写字母

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>
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值