js获取url中的参数且参数为中文时通过js解码

yizhihongxing

获取URL中的参数是前端开发中经常需要处理的场景之一。但如果参数中存在中文,获取并显示则需要特殊处理。

以下是获取URL参数且参数为中文时的完整攻略:

1.获取URL中的参数

我们可以使用JS内置对象window.location来获取当前页面的地址:

var url = window.location.href;

接下来我们需要从url中解析出参数,一种常用的方法是使用正则表达式:

var reg = new RegExp("(^|&)param=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
var param = decodeURIComponent(r[2]);

以上代码中,我们需要自己修改param=([^&]*)这段正则表达式中的param为实际需要获取的参数名称。

2.参数为中文时的解码处理

如果获取到的参数中存在中文,则可能会出现乱码问题,因此我们需要对参数进行解码处理。

JS提供了decodeURIComponent()函数用于解码URL中的参数。例如:

var str = '%E4%B8%AD%E6%96%87%E5%8F%82%E6%95%B0';
var decodedStr = decodeURIComponent(str);
console.log(decodedStr); // 输出:中文参数

示例

示例1:获取URL参数中的中文参数并解码

假设我们需要获取URL参数中名为name的参数:

https://www.example.com/index.html?name=%E5%BC%A0%E4%B8%89

以下代码中,我们通过正则表达式获取参数并解码:

var reg = new RegExp("(^|&)name=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
var name = decodeURIComponent(r[2]);
console.log(name); // 输出:张三

示例2:将中文参数拼接在URL中

假设我们需要将用户输入的中文参数拼接在URL的后面:

https://www.example.com/search.html?keyword=%E7%A7%91%E6%8A%80%E6%96%87%E5%8C%96

以下代码中,我们使用encodeURI()函数对用户输入的参数进行编码,然后将参数拼接在URL后面:

var keyword = '科技文化';
var encodedKeyword = encodeURI(keyword);
var url = 'https://www.example.com/search.html?keyword=' + encodedKeyword;
window.location.href = url;

以上代码中,对于输入的中文参数"科技文化",编码后得到"%E7%A7%91%E6%8A%80%E6%96%87%E5%8C%96"。将该参数拼接在URL后面,则得到最终的URL:"https://www.example.com/search.html?keyword=%E7%A7%91%E6%8A%80%E6%96%87%E5%8C%96"。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js获取url中的参数且参数为中文时通过js解码 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • javascript类数组的深入理解

    JavaScript类数组的深入理解 JavaScript中的类数组是一个类似数组但却不是真正的数组的对象。它们通常具有length属性和对应的数字键,但是缺少了一些数组原型方法。JavaScript中的类数组包括函数中的arguments对象、HTMLCollection对象和NodeList对象等。 类数组的常用方法 转换为真正的数组 由于类数组不是真正…

    JavaScript 2023年5月27日
    00
  • 简单通过settimeout看javascript的运行机制

    如何通过 setTimeout 看 JavaScript 的运行机制? JavaScript 是一门单线程语言。也就是说,在浏览器环境下所有的代码只会在一个线程上执行。而 setTimeout 函数可以进行一定的调度,这也是 JavaScript 事件机制的基础。 那么如何通过 setTimeout 来理解 JavaScript 的运行机制呢?下面是一个详细…

    JavaScript 2023年6月11日
    00
  • 你所不了解的javascript操作DOM的细节知识点(一)

    下面就为大家详细讲解“你所不了解的JavaScript操作DOM的细节知识点(一)”的完整攻略。 什么是DOM? DOM(文档对象模型)是指一种用于在HTML、XML等文档中描述元素的层次结构的API。通过DOM,JavaScript可以获取和修改文档的内容和结构。 元素节点和文本节点 在DOM中,每一个HTML元素都被表示为一个元素节点(element n…

    JavaScript 2023年6月10日
    00
  • JavaScript中cookie工具函数封装的示例代码

    下面是关于“JavaScript中cookie工具函数封装的示例代码”的完整攻略: 关于Cookie Cookie是一个用于Web服务器存储在用户计算机上的小文本文件。当用户在浏览器中访问Web时,服务器可以调用浏览器中存储的Cookie以识别用户。 谷歌浏览器中操作Cookie的步骤 打开Chrome浏览器。 点击右上角的菜单按钮,选择“设置”。 向下滑动…

    JavaScript 2023年6月11日
    00
  • 浅谈Vue单页面做SEO的四种方案

    方案一:使用预渲染 预渲染是一种将 SPA 应用在服务器端对页面进行完全渲染,然后将渲染好的 HTML 文件返回给客户端的技术。适用于 SEO 需求比较简单的情况。具体步骤如下: 安装插件 prerender-spa-plugin ,并在 webpack 配置中进行设置; 对于每个需要预渲染的路由,设置它们对应的 meta 信息,这些 meta 熟悉在 he…

    JavaScript 2023年6月11日
    00
  • javascript eval(func())使用示例

    《Javascript eval(func())使用示例》: 1. 什么是 eval(func())? eval() 是 JavaScript 的一种内置函数,它将字符串解析为 JavaScript 代码并执行。eval(func()) 内嵌了 func() 函数,将 func() 函数转换为字符串后传给 eval() 函数,从而实现对 func() 函数的…

    JavaScript 2023年6月11日
    00
  • JS查找孩子节点简单示例

    JS查找孩子节点是在前端开发中常用的操作,可以通过它来查找DOM树中某个节点的直接子节点或者所有子孙节点。以下是JS查找孩子节点的完整攻略: 1. 获取父节点元素 首先需要获取需要查找孩子节点的父元素,可以使用 querySelector 或者 getElementById 等方式获取DOM树中对应的父节点元素。例如: const parentEle = d…

    JavaScript 2023年6月10日
    00
  • jquery根据锚点offset值实现动画切换

    想要实现根据锚点offset值实现动画切换的效果,需要经过以下步骤: 1. 监测锚点的click事件 首先,我们需要为锚点(a标签)添加click事件的监听。当用户点击锚点时,我们可以获取到被点击锚点的href属性值,即所要跳转到的锚点的标识符,例如#section1。 示例代码: $(document).on(‘click’, ‘a’, function …

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部