Javascript 如何获取url字符串的特定部分?
这是以下Javascript 如何获取url字符串的特定部分?,javascript,typescript,Javascript,Typescript,这是以下控制台日志的结果: console.log('subscribe:', event.url); "https://hooks.stripe.com/adapter/ideal/redirect/complete/src_1E2lmZHazFCzVZTmhYOsoZbg/src_client_secret_EVnN8bitF0wDIe6XGcZTThYZ?success=true" 在这里,我要剥离src2lmzhazfcztvztmhyosozbg和src_客户机_secret\u E
控制台日志的结果:
console.log('subscribe:', event.url);
"https://hooks.stripe.com/adapter/ideal/redirect/complete/src_1E2lmZHazFCzVZTmhYOsoZbg/src_client_secret_EVnN8bitF0wDIe6XGcZTThYZ?success=true"
在这里,我要剥离src2lmzhazfcztvztmhyosozbg
和src_客户机_secret\u EVnN8bitF0wDIe6XGcZTThYZ
如何做到这一点?
const [a, b] = event.url.split("?")[0].split("/").slice(-2);
consturl=”https://hooks.stripe.com/adapter/ideal/redirect/complete/src_1E2lmZHazFCzVZTmhYOsoZbg/src_client_secret_EVnN8bitF0wDIe6XGcZTThYZ?success=true";
const res=url.split(//\?\//g).filter(el=>el.startsWith(“src”);
console.log(res)
如果查询参数?success=true
是可选的(在大多数情况下也是如此),您可以
函数getSrcAndSecret(url){
const pts=/\/(src\[^/?]+)\/(src\uclient\\ secret\[^/?]+)/.exec(url);
返回{
src:pts&&pts[1]| |“”,
秘密:pts&&pts[2]| |“
}
}
//演示:
const test1=getSrcAndSecret(“https://hooks.stripe.com/adapter/ideal/redirect/complete/src_1E2lmZHazFCzVZTmhYOsoZbg/src_client_secret_EVnN8bitF0wDIe6XGcZTThYZ?success=true");
const test2=getSrcAndSecret(“https://hooks.stripe.com/adapter/ideal/redirect/complete/src_1E2lmZHazFCzVZTmhYOsoZbg/src_client_secret_EVnN8bitF0wDIe6XGcZTThYZ");
const test3=getSrcAndSecret(“https://hooks.stripe.com/adapter/ideal/redirect/complete");
log(test1、test2、test3)
将字符串转换为url,读取路径名,然后在/
上拆分,并获取最后两部分
var str=”https://hooks.stripe.com/adapter/ideal/redirect/complete/src_1E2lmZHazFCzVZTmhYOsoZbg/src_client_secret_EVnN8bitF0wDIe6XGcZTThYZ?success=true"
const parts=新URL(str).pathname.split('/').slice(-2)
console.log(parts)
我现在可以删除我自己的答案-尽管这在任何IE浏览器中都不起作用