今天中午在解密一个网页木马时写的……
主要是使用了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(); //行间翻转 }
/*另一种实现方法 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>