某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换,
第二位和第三位交换,请编写一个函数,传入原文,输出密文
// 用文本框做出来,先打印两个文本框和一个按钮
<input type="text" id="txt1">
<input type="button" id="btn">
<input type="text" id="res">
<script>
// 选择文本框和按钮
var txt1 = document.getElementById("txt1");
var btn = document.getElementById("btn");
var res = document.getElementById("res");
// 点击按钮
btn.onclick = function(){
// 获取输入框数据, 数值
var y = Number(txt1.value);
// 解析千 百 十 个 位数字
var a = parseInt(y/1000);
var b = parseInt(y/100)%10;
var c = parseInt(y/10)%10;
var d= y%10;
// 处理数据 ---- 每个数字都加5
a = a + 5;
b = b + 5;
c = c + 5;
d = d + 5;
//处理数据—用除以10的余数代替该数字
每位都和10取余
a %= 10;
b %= 10;
c %= 10;
d %= 10;
// 处理数据—第一位和第四位交换
先声明一个空瓶子,然后和 a 进行交换
var q;
q = a;
a = d;
d = q;
// 处理数据—第二位和第三位交换
var l;
l = b;
b = c;
c = l;
// 打印结果,
前面加空字符,结果都会隐式转换成数值
res.value ="" + a + b + c + d;
}
</script>
// 还有另一种方法可以直接在打印时直接进行交换,简便处理数据
btn.onclick = function(){
var y = txt1.value - 0;
var a = parseInt(y/1000);
var b = parseInt(y/100)%10;
var c = parseInt(y/10)%10;
var d = y%10
// 处理数据 每位数字都加五 %10
a = (a + 5)%10;
b = (b + 5)%10;
c = (c + 5)%10;
d = (d + 5)%10;
// 打印结果 直接交换数据
// 前面加空字符 ,将结果转换成数值
res.value = "" + d + c + b + a;
}