谁能解析下js getcookie 的正则?

mengyaoren 2011-10-13 05:21:28
看了一个getcookie函数,里面的正则不是很明白,谁能解释下吗?谢谢
代码是这样的:
function getCookie(name)
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;
}

...全文
194 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengyaoren 2011-10-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 q107770540 的回复:]

引用 1 楼 nbgcqlk 的回复:
(^| )"+name+"=([^;]*)(;|$)

(^| ):非|开头
"+name+"= : "+name+"= Cookie的名称=
([^;]*): 零个或者任意个非分号的字符,也就是cookie的具体值
最后以字符;|结尾

非|开头 应该是 [^|]

(^| )"+name+"=([^;]*)(;|$)
这个正则表示……
[/Quote]谢谢,被你说了一下,很清楚了。
q107770540 2011-10-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 nbgcqlk 的回复:]
(^| )"+name+"=([^;]*)(;|$)

(^| ):非|开头
"+name+"= : "+name+"= Cookie的名称=
([^;]*): 零个或者任意个非分号的字符,也就是cookie的具体值
最后以字符;|结尾
[/Quote]
非|开头 应该是 [^|]

(^| )"+name+"=([^;]*)(;|$)
这个正则表示:
匹配这样的字符串:
以name或空格+name开头
后边跟的是 等号和 非分号的字符串 0-N个
最后以分号或直接结尾
nbgcqlk 2011-10-13
  • 打赏
  • 举报
回复
(^| )"+name+"=([^;]*)(;|$)

(^| ):非|开头
"+name+"= : "+name+"= Cookie的名称=
([^;]*): 零个或者任意个非分号的字符,也就是cookie的具体值
最后以字符;|结尾

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧