·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

实用javascript函数锦集一

229 1
发表于 2023-4-21 17:10:19 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
2、获取cookie的键值:
function cookie(name) {
  var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
  var r = document.cookie.match(reg);
  if (r != null) {
   return unescape(r[2]);
  }
  return null;
}

其实这个和例1非常相似,只是改了一个匹配对象,用法完全一样。

1、JS获取URL中的参数值:
    //根据参数名从url中获取对应参数值
    function getQueryString(name) {
        var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
        var r = window.location.search.substr(1).match(reg);
        if (r != null) {
            return unescape(r[2]);
        }
        return null;
    }

使用实例:
http://www.runoob.com/index.php?id=1&image=awesome.jpg
调用 getQueryString("id") 返回 1。
调用 getQueryString("image") 返回 "awesome.jpg"。

另外ckeditor示例的一个方法:
  1.     // Helper function to get parameters from the query string.
  2.         function getUrlParam( paramName ) {
  3.             var reParam = new RegExp( '(?:[\?&]|&)' + paramName + '=([^&]+)', 'i' );
  4.             var match = window.location.search.match( reParam );
  5.             return ( match && match.length > 1 ) ? match[1] : null;
  6.         }
复制代码
我要说一句 收起回复

评论1

Discuz智能体Lv.8 发表于 2025-3-17 05:05:46 | 查看全部
你提供的代码片段展示了如何使用JavaScript从URL和Cookie中获取特定参数的值。这些函数在开发中非常实用,尤其是在处理前端数据时。不过,代码中存在一些小问题,可能会导致功能无法正常工作。我将对代码进行修正和优化,并解释每个部分的作用。

### 1. 获取Cookie的键值

你提供的获取Cookie的函数有一些问题,主要是正则表达式的写法不正确。以下是修正后的代码:

  1. function getCookie(name) {
  2.     var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');
  3.     var match = document.cookie.match(reg);
  4.     if (match) {
  5.         return decodeURIComponent(match[2]);
  6.     }
  7.     return null;
  8. }
复制代码


#### 解释:
- `(^| )`:匹配字符串的开头或空格。
- `name`:传入的Cookie名称。
- `=([^;]*)`:匹配等号后面的值,直到遇到分号或字符串结束。
- `(;|$)`:匹配分号或字符串结束。
- `decodeURIComponent`:用于解码URI组件,确保特殊字符正确显示。

#### 使用示例:
  1. document.cookie = "username=JohnDoe; path=/";
  2. console.log(getCookie("username")); // 输出 "JohnDoe"
复制代码


### 2. 获取URL中的参数值

你提供的获取URL参数的函数也有类似的问题,正则表达式需要修正。以下是修正后的代码:

  1. function getQueryString(name) {
  2.     var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
  3.     var r = window.location.search.substr(1).match(reg);
  4.     if (r != null) {
  5.         return decodeURIComponent(r[2]);
  6.     }
  7.     return null;
  8. }
复制代码


#### 解释:
- `(^|&)`:匹配字符串的开头或`&`符号。
- `name`:传入的参数名称。
- `=([^&]*)`:匹配等号后面的值,直到遇到`&`或字符串结束。
- `(&|$)`:匹配`&`符号或字符串结束。
- `decodeURIComponent`:用于解码URI组件,确保特殊字符正确显示。

#### 使用示例:
  1. // 假设当前URL为:http://www.example.com/index.php?id=1&image=awesome.jpg
  2. console.log(getQueryString("id")); // 输出 "1"
  3. console.log(getQueryString("image")); // 输出 "awesome.jpg"
复制代码


### 3. CKEditor示例中的方法

你提供的CKEditor示例方法也有类似的问题,正则表达式需要修正。以下是修正后的代码:

  1. function getUrlParam(paramName) {
  2.     var reParam = new RegExp('(?:[?&]|^)' + paramName + '=([^&]*)', 'i');
  3.     var match = window.location.search.match(reParam);
  4.     return (match && match.length > 1) ? decodeURIComponent(match[1]) : null;
  5. }
复制代码


#### 解释:
- `(?:[?&]|^)`:匹配`?`或`&`符号,或者字符串的开头。
- `paramName`:传入的参数名称。
- `=([^&]*)`:匹配等号后面的值,直到遇到`&`或字符串结束。
- `decodeURIComponent`:用于解码URI组件,确保特殊字符正确显示。

#### 使用示例:
  1. // 假设当前URL为:http://www.example.com/index.php?id=1&image=awesome.jpg
  2. console.log(getUrlParam("id")); // 输出 "1"
  3. console.log(getUrlParam("image")); // 输出 "awesome.jpg"
复制代码


### 总结

这些函数在处理前端数据时非常有用,尤其是在需要从URL或Cookie中提取特定参数时。修正后的代码确保了正则表达式的正确性,并且使用了`decodeURIComponent`来正确处理特殊字符。如果你在开发过程中遇到任何问题,欢迎随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.15.1.45,GMT+8, 2025-3-31 07:21 , Processed in 0.672382 second(s), 77 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表