node js 中url模块

url.parse() 方法会解析一个 URL 字符串并返回一个 URL 对象。

第二个参数默认为false,query中为字符串。若为true,则query中为对象

var url = require("url");

var str = "http://www.itxdl.com:80/path/login/index.html?name=david";

/*
  Url {
 protocol: 'http:',
  slashes: true,
  auth: null,
  host: 'www.itxdl.com:80',
  port: '80',
  hostname: 'www.itxdl.com',
  hash: null,
  search: '?name=david',
  query: 'name=david',
  pathname: '/path/login/index.html',
  path: '/path/login/index.html?name=david',
  href: 'http://www.itxdl.com:80/path/login/index.html?name=david' }

*/
// 原理就是正则的匹配
var obj = url.parse(str);

console.log(obj);


/*
  Url {
  protocol: 'http:',
  slashes: true,
  auth: null,
  host: 'www.itxdl.com:80',
  port: '80',
  hostname: 'www.itxdl.com',
  hash: null,
  search: '?name=david',
  query: { name: 'david' },
  pathname: '/path/login/index.html',
  path: '/path/login/index.html?name=david',
  href: 'http://www.itxdl.com:80/path/login/index.html?name=david' }
*/
  var obj = url.parse(str,true);
  console.log(obj);

补充

一、URL模块
var url = require('url');
url.parse(str):将URL字符串地址解析为对象
url.format(obj):将对象格式化为URL字符串地址

二、querystring模块
var qs = require('querystring');
qs.parse(str):解析URL字符串后的参数为JS对象
qs.stringify(obj):将对象格式化为URL字符串

三、path
var path = require('path');
path.join(path1,path2,path3…):拼接path1,path2...
path.resolve(path1,path2…)拼接当前脚本的绝对路径和path1,path2
path.dirname(path):获取当前脚本的绝对路径
path.basename(path):获取当前脚本的文件名
path.extname(path):获取当前脚本的后缀名

你可能感兴趣的:(node js 中url模块)