0

我是 JavaScript 新手,我真的很迷茫这段代码的作用:

var re = /([^=&]+)(=([^&]*))?/g;
while (match= re.exec(qs))
{
var key= decodeURIComponent(match[1].replace(/\+/g,' '));
var value= match[3] ? QueryString.decode(match[3]) : '';
if (this.dict[key])
    this.dict[key].push(value);
else
    this.dict[key]= [value];
}

特别是,有人可以解释这var re = /([^=&]+)(=([^&]*))?/g;部分代码的作用吗?

4

3 回答 3

3

此代码使用正则表达式获取查询字符串并解析出单个参数键/值,将它们转换为易于使用的对象。

于 2013-07-01T15:52:09.797 回答
2

那是一个正则表达式。

它们是一串字符,允许您匹配其他字符串中的模式以对文本正文执行复杂的搜索。

在上述情况下,正则表达式旨在匹配查询字符串中的参数,允许您单独对每个参数执行功能。

查看此站点以获取有关使用正则表达式的教程和参考:http ://www.regular-expressions.info/tutorial.html

于 2013-07-01T15:58:11.540 回答
1

这是一个正则表达式。这些通常用于过滤字符串/输入,以确保它们在用户输入方面满足您的要求(即“密码必须包含字符、数字等......”但以编程方式完成)

正如您在原始帖子中所述的评论之一,是一个“可视化”它们如何更轻松地工作的好地方。

于 2013-07-01T15:53:58.260 回答