将HTML链接的空URL空间替换为%20



我有一个函数,当有人在我们的表单上提交内容时,我以为我正在用HTML链接替换URL。如果用户输入带有空格的URL,例如:

company.sharepoint.com/sites/testsite/shared documents/forms/allitems.aspx

函数会截断空间之后的任何内容。

以下是我的代码:

ReplaceURLwithHTMLLinks: function(text) {
if (text !=null && text.length > 0) {
var exp = /(b(https?)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|}{[]()"'])/i;
if (text.indexOf("-") > -1) {

var linkText;
if (text.indexOf("company.sharepoint.com") > -1
linkText = text.substring(0, text.indexOf('-') - 1) + " - SharePoint";
else
linkText = text.substring(0, text.indexOf('-') - 1);
var newLink = text.replace(exp, "<a target='_blank' rel='noopener noreferrer' href='$1'>" + linkText + "</a>";
return newLink.substring(newLink.indexOf("<a"));
}
}
else {
return test;
}
}

我正试图找出如何用%20替换任何空格,以仍然允许HTML链接正确加载

感谢

你可以试试这个吗?

text.replace(/s/g, "%20");

它用%20 替换所有空白

最新更新