Javascript 正在解析url.pathname()中的路径名
我有一个网址如下Javascript 正在解析url.pathname()中的路径名,javascript,node.js,url,split,Javascript,Node.js,Url,Split,我有一个网址如下 localhost:1340/promotionDetails/pwd1/pwd2?promotion_id=PROM008765 我使用url模块解析url,路径名如下所示 var url=require('url').parse('http://localhost:1340/promotionDetails/pwd1/pwd2? promotion_id=PROM008765', true).pathname console.log(url); 我得到的结果是 /pr
localhost:1340/promotionDetails/pwd1/pwd2?promotion_id=PROM008765
我使用url模块解析url,路径名如下所示
var url=require('url').parse('http://localhost:1340/promotionDetails/pwd1/pwd2? promotion_id=PROM008765', true).pathname
console.log(url);
我得到的结果是
/promotionDetails/pwd1/pwd2
我使用split函数从路径中获取pwd1和pwd2。我想知道是否有其他方法可以不使用split函数获取pwd1和pwd2。任何帮助都会非常有用。您可以使用regex来获取url目录而不使用split
var myurl = "localhost:1340/promotionDetails/pwd1/pwd2?promotion_id=PROM008765";
var match = myurl.match(/[^/?]*[^/?]/g);
/* matches everything between / or ?
[ 'localhost:1340',
'promotionDetails',
'pwd1',
'pwd2',
'promotion_id=PROM008765' ]
*/
console.log(match[2]);//pwd1
console.log(match[3]);//pwd2
const myurl = "localhost:1340/promotionDetails/pwd1/pwd2?promotion_id=PROM008765";
const filteredURL = myurl.match(/[^/?]*[^/?]/g).filter((urlParts) => {
return urlParts !== 'promotionDetails' && urlParts !== 'localhost:1340'
})
const [pwd1, pwd2] = filteredURL;
console.log(pwd1)
console.log(pwd2)
更新2019 ES6答案:
您可以使用regex来获取url目录,而无需使用split
var myurl = "localhost:1340/promotionDetails/pwd1/pwd2?promotion_id=PROM008765";
var match = myurl.match(/[^/?]*[^/?]/g);
/* matches everything between / or ?
[ 'localhost:1340',
'promotionDetails',
'pwd1',
'pwd2',
'promotion_id=PROM008765' ]
*/
console.log(match[2]);//pwd1
console.log(match[3]);//pwd2
const myurl = "localhost:1340/promotionDetails/pwd1/pwd2?promotion_id=PROM008765";
const filteredURL = myurl.match(/[^/?]*[^/?]/g).filter((urlParts) => {
return urlParts !== 'promotionDetails' && urlParts !== 'localhost:1340'
})
const [pwd1, pwd2] = filteredURL;
console.log(pwd1)
console.log(pwd2)
我认为您没有使用PHPY我没有使用PHPY您可以使用split轻松获得pwd1和pwd2。这有什么害处?是的,我不想使用split。除了使用split之外,我们还有其他方法吗?谢谢,我将尝试这种方法:)