我有很多网址的这个数组:
let url_list = ["https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGS.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGR.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DEPV.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGF.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGL.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGT.pdf" ,
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGE.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGP.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DEP%25.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGV.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DEPN.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DEPL.pdf",
]
我要实现的是我遍历每个网址,并用用户输入的内容替换“ 29”。
例如,https://webew00236.be04.eu/request/pdfservice/L2020-29-001DEPL.pdf
更改为https://webew00236.be04.eu/request/pdfservice/L2020-30-001DEPL.pdf
,并更改为数组中所有URL的地址。
我已经尝试过了 但这需要大量的工作,如果必须对每个网址执行此操作:
function changeText2(){
var userInput = document.getElementById('userInput').value;
var lnk = document.getElementById('lnk');
lnk.href = "https://webew00236.be04.eu/request/pdfservice/L2020-"+ userInput+"-001DAGS.pdf";
lnk.innerHTML = lnk.href;
}
我尝试了很多不同的方法,但是没有一个能给我想要的结果。
答案 0 :(得分:3)
您可以使用map
和replace
。
const res = url_list.map(url=>url.replace(/(L2020-)29/, "$1" + userInput));
let url_list = ["https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGS.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGR.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DEPV.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGF.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGL.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGT.pdf" ,
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGE.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGP.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DEP%25.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGV.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DEPN.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DEPL.pdf",
];
var userInput = 30;
const res = url_list.map(url=>url.replace(/(L2020-)29/, "$1" + userInput));
console.log(res);
答案 1 :(得分:2)
以下代码将用用户输入替换29
。您只需要将结果附加到链接:)
let url_list = ["https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGS.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGR.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DEPV.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGF.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGL.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGT.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGE.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGP.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DEP%25.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DAGV.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DEPN.pdf",
"https://webew00236.be04.eu/request/pdfservice/L2020-29-001DEPL.pdf",
];
const replaceByUserInput = (user_input) => {
return url_list.reduce((acc, curr) => {
return [...acc, curr.replace(/-29-/g, `-${user_input}-`)];
}, []);
}
document.getElementById('submit').addEventListener('click', e => {
e.preventDefault();
const userInput = document.getElementById('userInput').value;
const replacedResult = replaceByUserInput(userInput);
console.log(replacedResult);
});
<input type="text" id="userInput" />
<button id="submit">Submit</button>