Post.htm页面: <input type="text" name="txt1">
 <input type="button" value="Post">
 <script language="javascript" >
 function setCookie(name,value)
 {
 /*
 *--------------- setCookie(name,value) -----------------
 * setCookie(name,value)
 * 功能:设置得变量name的值
 * 参数:name,字符串;value,字符串.
 * 实例:setCookie('username','baobao')
 *--------------- setCookie(name,value) -----------------
 */
 var Days = 30; //此 cookie 将被保存 30 天
  var exp = new Date();
 exp.setTime(exp.getTime() + Days*24*60*60*1000);
 document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
 location.href = "Read.htm"; //接收页面.
 }
</script>Read.htm 页面:<script language="javascript" >
function getCookie(name)
{
/*
*--------------- getCookie(name) -----------------
* getCookie(name)
* 功能:取得变量name的值
* 参数:name,字符串.
* 实例:alert(getCookie("baobao"));
*--------------- getCookie(name) -----------------
*/var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;
}
alert(getCookie("baobao"));
</script>
  请问这俩句话是什么意思?
   var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); 
   if(arr != null) return unescape(arr[2]); return null;
  还有 问什么要输出"baobao"
  alert(getCookie("baobao"));

解决方案 »

  1.   

    document.cookie是个字符串document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));如果匹配不成功 返回null
    如果匹配成功返回一个数组 假如是arr
    arr的第一项为整个匹配项其他的为捕获的内容 就是小括号包起来的那些 
    arr[2]就是([^;]*) 也就是对应name的value值了
    unescape(arr[2])因为在存入cookie的时候会进行escape 看setCookie函数就知道了  所以取出的时候 unescape
    为什么要输出alert(getCookie("baobao"));了这个只是测试  看cookie里面存了baobao这个东西没有假如已经拿到东西cookie里面的东西 test一下var cookie = 'baobao=baobao123;vcd=456'
    var name='baobao';
    var arr = cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
    alert(arr[2])//baobao对应的值是baobao123  看到alert出来的是baobao123
      

  2.   

    请问这俩句话是什么意思?
      var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); 
      if(arr != null) return unescape(arr[2]); return null;
      还有 问什么要输出"baobao"
      alert(getCookie("baobao"));//用正则匹配出保存的Cookie值,首先你要知道Cookie保存的格式。用alert(document.cookie);看看
      

  3.   

    请问arr里存的东西分别是什么:
        arr[2]是所对应的value; 
        arr[1]您说是整个匹配项,请问整个匹配项是什么?有arr[0]吗?还有最后这一项(;|$)")代表了什么呢?