某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,请编写一个函数,传入原文,输出密文。
分析:先输入一个四位数的整数,然后求出个位、十位、百位、万位,再利用函数让其满足条件。
html代码:
<span>传入原文</span>
<input type="text" id='inp1'>
<button id='btn'>输出密文</button>
<input type="text" id='inp2'>
<script src="../js/zuoye.js"></script>
<script>
// 获取对象
var oInp1 = get('inp1') ;
var oInp2 = get('inp2') ;
var oBtn = get('btn') ;
//绑定点击事件
oBtn.onclick = function(){
var n = oInp1.value;
//把输入的整数,调用函数后传给输出框
oInp2.value = translate(n) ;
}
</script>
js代码:
//功能:传入一个四位数的整数,每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换
//参数
// num number
//返回值
// string
function translate(num){
var wan = Math.floor(num / 1000);
var bai = Math.floor(num % 1000 / 100) ;
var shi = Math.floor(num % 1000 / 100) ;
var ge = Math.floor(num % 10 / 1);
wan = (wan + 5) % 10 ;
bai = (bai + 5) % 10 ;
shi = (shi + 5) % 10 ;
ge = (ge + 5) % 10 ;
return ('' + wan + bai + shi + ge) ;
}
//获取对象
function get(id){
return document.getElementById(id);
}