在' ='之后解析并提取在JS中的字符串中

时间:2017-11-06 04:37:37

标签: javascript node.js

让我们说我的网址是

Staff Event Time 
123   Entry 07:00 Hrs
123   Exit  08:15 Hrs
123   Entry 08:30 Hrs
123   Exit  11:15 Hrs
123   Entry 11:30 Hrs
123   Exit  15:00 Hrs
124   Entry 07:00 Hrs
124   Exit  09:00 Hrs
124   Entry 09:30 Hrs
124   Exit  14:00 Hrs

我能够获取

的requestURL字符串
http://test.com/?city=toronto

从这里开始,我想知道是否有内置功能或标准程序来提取单词"多伦多"或者来自字符串/?city=toronto 之后的任何其他单词。

3 个答案:

答案 0 :(得分:4)

执行此操作的标准程序(如您所述),您可以获取所有参数值,包括city的值或您可能添加到其中的任何其他参数。

var values = new URL('http://test.com/?city=toronto').searchParams.values();
for(var value of values){
    console.log(value);
}

<强>更新

正如@taystack在评论中提到的,如果您只想要特定参数(城市)的值,则可以使用:

new URL('http://test.com/?city=toronto').searchParams.get('city');

答案 1 :(得分:0)

使用split();

var url = '/?city=toronto'.split('=');
console.log(url[1]);

答案 2 :(得分:0)

Node.js有一个名为URL的新模块,它对url字符串的语义进行编码。您不需要进行任何字符串操作。

const URL = require('url')
let my_url = new URL('http://test.com/?city=toronto')

URL #search返回表示搜索的字符串:

my_url.search // '?city=toronto'

URL#query返回不包含?的搜索字符串:

my_url.query // 'city=toronto'

和URL#searchParams返回编码搜索字符串的对象:

my_url.searchParams // something kind of like {'city':'toronto'}
my_url.searchParams.get('city') // 'toronto'
my_url.searchParams.keys() // ['city'] (all the keys)
my_url.searchParams.values() // ['toronto'] (all the values)