javascript 用正则表达式取cookie值,请帮解释下代码?

ynduanlian 2015-06-15 11:00:09

function getCookie(name)//取cookies函数
{
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]);
return null;
}


请问为什么返回值从 arr[2]去取?
...全文
325 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hch126163 2015-06-16
正则() 表示匹配组 document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); (^| ) 第一组 [1] ([^;]*) 第二组 [2] [0] 是匹配到的字符串
  • 打赏
  • 举报
回复
tommercatfly 2015-06-15
str.match(/\d+/g)这样写就可以,加g不加g的区别是 加上g表示匹配全文,找出所有匹配搭配的项目。 不加g表示匹配全文,但只找出第一次比配到的值。
  • 打赏
  • 举报
回复
ynduanlian 2015-06-15
<html>
<body>
<script type="text/javascript">
var str="1 plus 2 equal 3";
var arr=str.match(/\d+/);
document.writeln(arr[0]);
document.writeln(arr[1]);
document.writeln(arr[2]);
</script>
</body>
</html>
结果居然是:1 undefined undefined 为什么这里的arr[2]又取不到了?
  • 打赏
  • 举报
回复
相关推荐
发帖
JavaScript

8.6w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2015-06-15 11:00
社区公告
暂无公告