以下是我在网上找到的一个关于读取Cookie的js代码,是用正则写的,求助
代码如下:
//取cookies函数
function getCookie(name)...{
var arr = document.cookie.match(new RegExp( "(^| ) "+name+ "=([^;]*)(;|$) "));
if(arr != null) ...{
return unescape(arr[2]);
}else...{
return null;
}
}
这句话我不完全明白:
RegExp( "(^| ) "+name+ "=([^;]*)(;|$) ")
希望有高手能帮我说明白吗?
假如cookies为:
username=31354a22825;pwd=123;sex=1
正则我是知道的。可能学的不深,一时对这表达示理解不够。
我的理解是:
"(^| ) " + name
是必须以name开头或者以空格开头
必须以name开头要能是对应第一个cookies名称
以空格开头可能是对应后面的cookies名称
([^;]*)(;|$)这个意思我就有些模糊了,一时想不出个所以然来。
------解决方案-------------------- "(^| ) " 以字符串起始或者空格 开头
([^;]*) 非分号的字符串
(;|$) ") 以分号或者字符串结束点为 终点