用js写一个正则方法,分别找出格式可变的URL为https://m.picclife.cn/ucsp-rel-h5/#/url-scheme?redirect_url=I1d3arCS7ql&t=03中/ucsp-rel-h5/ 和/ I1d3arCS7ql和/03和/mtest四个截取内容,并且这几个参数会根据url的不同而不同
时间: 2023-07-16 18:15:13 浏览: 109
可以使用正则表达式来实现对 URL 的截取。以下是一个示例函数,使用正则表达式来截取 URL 中的指定部分:
```javascript
function parseUrl(url) {
const regex = /^https?:\/\/[a-z]+\.[a-z]+\.cn\/([\w-]+)\/#\/url-scheme\?redirect_url=([\w-]+)&t=(\d+)/;
const matches = regex.exec(url);
if (!matches) {
return null;
}
const [, path, redirectUrl, t] = matches;
const params = new URLSearchParams(redirectUrl);
const mtest = params.get('mtest');
return { path, redirectUrl, t, mtest };
}
```
这个函数将会解析传入的 URL,并返回一个对象,包含 URL 中的四个参数:`path`、`redirectUrl`、`t` 和 `mtest`。
例如,如果我们调用这个函数并传入 URL https://m.picclife.cn/ucsp-rel-h5/#/url-scheme?redirect_url=I1d3arCS7ql&t=03&mtest=test,函数将会返回以下对象:
```javascript
{
path: "ucsp-rel-h5",
redirectUrl: "I1d3arCS7ql",
t: "03",
mtest: "test"
}
```
注意,这个函数使用了一个比较复杂的正则表达式来匹配 URL,因为 URL 的格式比较复杂,其中包含了很多特殊字符和参数。如果你对正则表达式不熟悉,可能需要花一些时间来理解这个正则表达式的含义。
阅读全文