js 判断一个字符串是否为网页如果是网页链接去除只留下=后面的参数如果不是返回正常参数
你可以使用正则表达式来判断一个字符串是否为网页链接,并提取参数。以下是一个示例的 JavaScript 代码:
function processUrl(url) {
// 判断是否为网页链接
var isWebUrl = /^https?:\/\/\w+(\.\w+)*(:\d+)?(\/[^?]*)?\?([^#]*)/.test(url);
if (isWebUrl) {
// 提取参数
var params = url.match(/\?([^#]*)/)[1];
var keyValuePairs = params.split('&');
var result = {};
for (var i = 0; i < keyValuePairs.length; i++) {
var keyValue = keyValuePairs[i].split('=');
var key = decodeURIComponent(keyValue[0]);
var value = decodeURIComponent(keyValue[1] || '');
result[key] = value;
}
return result;
} else {
// 不是网页链接,返回原始参数
return url;
}
}
// 测试示例
console.log(processUrl('https://example.com/?param1=value1¶m2=value2')); // 输出: {param1: "value1", param2: "value2"}
console.log(processUrl('https://example.com/')); // 输出: {}
console.log(processUrl('https://example.com')); // 输出: {}
console.log(processUrl('?param1=value1¶m2=value2')); // 输出: {param1: "value1", param2: "value2"}
console.log(processUrl('?param1=value1¶m2=')); // 输出: {param1: "value1", param2: ""}
console.log(processUrl('param1=value1¶m2=value2')); // 输出: "param1=value1¶m2=value2"
在上面的代码中,processUrl 函数接受一个字符串参数 url,然后使用正则表达式来判断该字符串是否为网页链接。如果是网页链接,它会提取链接中的参数并返回一个包含参数键值对的对象。如果不是网页链接,它会直接返回原始参数字符串。
注意,这里的判断条件以及提取参数的正则表达式只是一个简单的示例,可能无法覆盖所有情况。实际应用中,你可能需要根据具体需求进行调整
原文地址: https://www.cveoy.top/t/topic/izMu 著作权归作者所有。请勿转载和采集!