各位师傅,我才学java。不是很熟悉,有断js想请教大家
<script language="javascript">fQ18=8879;
Strobj="jrHIiPSsqWNlxLvhtKkpwoXTMQOnmRJV";
var_hex="0123456789ABCDEF";
encode_string="是被赋值了的语句
"for(var i=0;i<16;i++)
   {
    var re1=new RegExp(Strobj.charAt(i),["g"]);
    encode_string=encode_string.replace(re1,"%"+var_hex.charAt(i));
    var re2=new RegExp(Strobj.charAt(i+16),["g"]);
    encode_string=encode_string.replace(re2,"%u"+var_hex.charAt(i));
   }

alert (unescape(encode_string));
</script>
主要是对红色语言的一句解释,偶只看出alert (unescape(encode_string));提示可以unescape解密,但是需要修改i,就是这儿出现问题了

解决方案 »

  1.   

    给你找了一段说明,自己研究一下吧,印象深刻,呵呵JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例。有两种方式可以创建RegExp对象的实例。      使用RegExp的显式构造函数,语法为:new RegExp("pattern"[,"flags"])。      使用RegExp的隐式构造函数,采用纯文本格式:/pattern/[flags]。pattern部分为要使用的正则表达式模式文本,是必须的。在第一种方式中,pattern部分以JavaScript字符串的形式存在,需要使用双引号或单引号括起来;在第二种方式中,pattern部分嵌套在两个“/”之间,不能使用引号。flags部分设置正则表达式的标志信息,是可选项。如果设置flags部分,在第一种方式中,以字符串的形式存在;在第二种方式中,以文本的形式紧接在最后一个“/”字符之后。flags可以是以下标志字符的组合。      g是全局标志。如果设置了这个标志,对某个文本执行搜索和替换操作时,将对文本中所有匹配的部分起作用。如果不设置这个标志,则仅搜索和替换最早匹配的内容。      i是忽略大小写标志。如果设置了这个标志,进行匹配比较时,将忽略大小写。      m是多行标志。如果不设置这个标志,那么元字符“^”只与整个被搜索字符串的开始位置相匹配,而元字符“$”只与被搜索字符串的结束位置相匹配。如果设置了这个标志,“^”还可以与被搜索字符串中的“\n”或“\r”之后的位置(即下一行的行首)相匹配,而“$”还可以与被搜索字符串中的“\n”或“\r”之后的位置(即下一行的行尾)相匹配。代码1.1是一个创建正则表达式的例子。代码1.1   创建正则表达式:1.1.htm<html><head><title>创建正则表达式 </title><script language = "JavaScript">       var myString="这是第一个正则表达式的例子";       var myregex = new RegExp("一个");   // 创建正则表达式       if (myregex.test(myString)){            document.write("找到了指定的模式!");       }       else{            document.write("未找到指定的模式。");       }</script></head><body></body></html>