你可以使用正则表达式来判断一个字符串是否为网页链接,并提取参数。以下是一个示例的 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&param2=value2')); // 输出: {param1: "value1", param2: "value2"}
console.log(processUrl('https://example.com/')); // 输出: {}
console.log(processUrl('https://example.com')); // 输出: {}
console.log(processUrl('?param1=value1&param2=value2')); // 输出: {param1: "value1", param2: "value2"}
console.log(processUrl('?param1=value1&param2=')); // 输出: {param1: "value1", param2: ""}
console.log(processUrl('param1=value1&param2=value2')); // 输出: "param1=value1&param2=value2"

在上面的代码中,processUrl 函数接受一个字符串参数 url,然后使用正则表达式来判断该字符串是否为网页链接。如果是网页链接,它会提取链接中的参数并返回一个包含参数键值对的对象。如果不是网页链接,它会直接返回原始参数字符串。

注意,这里的判断条件以及提取参数的正则表达式只是一个简单的示例,可能无法覆盖所有情况。实际应用中,你可能需要根据具体需求进行调整

js 判断一个字符串是否为网页如果是网页链接去除只留下=后面的参数如果不是返回正常参数

原文地址: https://www.cveoy.top/t/topic/izMu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录