JavaScript编程实现字符和字符串翻转

  今天中午在解密一个网页木马时写的……

  主要是使用了JavaScript的字符串的 split 方法、数组的 reverse 和 join 方法。 

<html>
<head>
<title>JavaScript编程实现字符和字符串翻转</title>
<META NAME="Author" CONTENT="PurpleEndurer">
</head>
<body>
<form name="frT">
源字符串:<input type="checkbox" name="ckbRow">行间翻转</input> <input type="checkbox" name="ckbChar">行内字符翻转</input> <button onClick="reverseAll()">处理</button><BR>
<textarea name="taS" ROWS="12" COLS="90">
d321
c321
b321
a543
</textarea><BR>
转换结果:<BR>
<BR><textarea name="taR" ROWS="12" COLS="90"></textarea>
</form>
<script language=javascript>
function reverseAll()
{
        var s1= document.frT.taS.value;
        var as1 = s1.split("/n");       //按行分成数组
        if (true==document.frT.ckbRow.checked)
        {
                as1 = as1.reverse();    //行间翻转
        }
        var s2="";
        if (true==document.frT.ckbChar.checked)
        {
                //行内字符翻转
                var i, t, t1;
                for (i=0; i < as1.length; i++)
                {
                        t = as1[i].split('');//把字符分成数组
                        t1 = t.reverse();//行内字符翻转
                        s2 += t1.join('');
                }
                /*另一种实现方法
                for (i=0; i < as1.length; i++)
                {
                        t = as1[i].split('');
                        t1 = t.reverse();
                        s2 += t1.join('');
                }
                */
                s2 = s2.substr(1);
        }
        else
        {
                s2 = as1.join("");
        }
        document.frT.taR.value = s2;
}
//行间翻转
function reverseRows()
{
        var s1= document.frT.taS.value;
        var as0 = s1.split("/n");       //按行分成数组
        var as1 = as0.reverse();        //数组翻转
        document.frT.taR.value = as1.join("");
}
//行内字符翻转
function reverseChar()
{
        var s1= document.frT.taS.value;
        var as0 = s1.split("/n");
        var s2="", i, t, t1;
        for (i=0; i < as0.length; i++)
        {
                t = as0[i].split('');//把字符分成数组
                t1 = t.reverse();
                s2 += t1.join('');
        }
        /*另一种实现方法
        var s2="", i, t, t1;
        for (i=0; i < as0.length; i++)
        {
                t = as0[i].split('');
                t1 = t.reverse();
                s2 += t1.join('');
        }
        */
        document.frT.taR.value = s2.substr(1);
}
</script>
</body>
</html>
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

紫郢剑侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值