PHP中querystring用法,JavaScript_node.js中的querystring.parse方法使用说明,方法说明: 将字符串转成对 - phpStudy...

node.js中的querystring.parse方法使用说明

方法说明:

将字符串转成对象。说白了其实就是把url上带的参数串转成数组对象。(看例子就知道咯)

语法:

querystring.parse(str, [sep], [eq], [options])

接收参数:

str                                         欲转换的字符串

sep                                       设置分隔符,默认为 ‘&'

eq                                         设置赋值符,默认为 ‘='

[options]  maxKeys             可接受字符串的最大长度,默认为1000

例子:

querystring.parse('foo=bar&baz=qux&baz=quux&corge')

// returns

{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }

源码:

// Parse a key=val string.

QueryString.parse = QueryString.decode = function(qs, sep, eq, options) {

sep = sep || '&';

eq = eq || '=';

var obj = {};

if (!util.isString(qs) || qs.length === 0) {

return obj;

}

var regexp = /\+/g;

qs = qs.split(sep);

var maxKeys = 1000;

if (options && util.isNumber(options.maxKeys)) {

maxKeys = options.maxKeys;

}

var len = qs.length;

// maxKeys <= 0 means that we should not limit keys count

if (maxKeys > 0 && len > maxKeys) {

len = maxKeys;

}

for (var i = 0; i < len; ++i) {

var x = qs[i].replace(regexp, '%20'),

idx = x.indexOf(eq),

kstr, vstr, k, v;

if (idx >= 0) {

kstr = x.substr(0, idx);

vstr = x.substr(idx + 1);

} else {

kstr = x;

vstr = '';

}

try {

k = decodeURIComponent(kstr);

v = decodeURIComponent(vstr);

} catch (e) {

k = QueryString.unescape(kstr, true);

v = QueryString.unescape(vstr, true);

}

if (!hasOwnProperty(obj, k)) {

obj[k] = v;

} else if (util.isArray(obj[k])) {

obj[k].push(v);

} else {

obj[k] = [obj[k], v];

}

}

return obj;

};相关阅读:

深入理解JavaScript系列(49):Function模式(上篇)

java实现的新浪微博分享代码实例

php通过strpos查找字符串出现位置的方法

用php守护另一个php进程的例子

mysql中order by与group by的区别

PHP处理数组和XML之间的互相转换

Win10 Mobile/PC预览版14387曝光:或为RTM候选版本

SQLite数据库安装及基本操作指南

Java中三种简单注解介绍和代码实例

oracle 11g em重建报唯一约束错误解决方法

php中__destruct与register_shutdown_function执行的先后顺序问题

Win10语音助手Cortana小娜搜索速度怎么优化?

AngularJS入门教程之迭代器过滤详解

红米手机抢购的js代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值