js函数,传入原文,返回密文

某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换,请编写一个函数,传入原文,返回密文
    <body>
        <input type="text" name="" id="txt">
        <input type="button" name="" value="加密" id="btn">
        <input type="text" name="" id="mw">
    </body>
    <script>
        var txt=document.getElementById("txt")
        var btn=document.getElementById("btn")
        var mw=document.getElementById("mw")
        btn.onclick=function(){
            var sz = txt.value;
            jm(sz);           
    }
        function jm(Text){
            var temp,tem;
            var qian=(parseInt(Text/1000)+5)%10;
            console.log(qian)
            var bai=(parseInt(Text%1000/100)+5)%10;
            console.log(bai)
            var shi=(parseInt(Text%100/10)+5)%10;
            console.log(shi)
            var ge =(parseInt(Text%10)+5)%10;
            console.log(ge)
            temp=qian;
            qian=ge
            ge=temp;
            tem=shi;
            shi=bai;
            bai=tem;
            // console.log(bai)
            mw.value=""+qian+bai+shi+ge
            //mw.value=qian*1000+bai*100+shi*10+ge  如果这么写的话。当个位数是5的时候,会出现错误
        }
    </script>

也可以简写如下:

<script>
        var txt=document.getElementById("txt")
        var btn=document.getElementById("btn")
        var mw=document.getElementById("mw")
        btn.onclick=function(){
            var sz = txt.value;
            jm(sz);           
    }
        function jm(Text){
            var qian=(parseInt(Text/1000)+5)%10;
            var bai=(parseInt(Text%1000/100)+5)%10;
            var shi=(parseInt(Text%100/10)+5)%10;
            var ge =(parseInt(Text%10)+5)%10;
            mw.value=""+ge+shi+bai+qian
        }
    </script>
请用今天的努力,让明天没有遗憾。
原文地址:https://www.cnblogs.com/cupid10/p/12789562.html