工作中常用的js、jquery自定义扩展函数代码片段汇总

发布时间 - 2026-01-10 22:01:47    点击率:

仅记录一些我工作中常用的自定义js函数。

1、获取URL请求参数

//根据URL获取Id
function GetQueryString(name) {
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
  var r = window.location.search.substr(1).match(reg);
  if (r != null) return unescape(r[2]); return "";
}

调用方式:var id = GetQueryString("id");

2、在文本框中光标位置插入文本值

/* 在textarea处插入文本--Start */
(function ($) {
  $.fn.extend({
    "insertContent": function (myValue, t) {
      var $t = $(this)[0];
      if (document.selection) { // ie 
        this.focus();
        var sel = document.selection.createRange();
        sel.text = myValue;
        this.focus();
        sel.moveStart('character', -l);
        var wee = sel.text.length;
        if (arguments.length == 2) {
          var l = $t.value.length;
          sel.moveEnd("character", wee + t);
          t <= 0 ? sel.moveStart("character", wee - 2 * t - myValue.length) : sel.moveStart("character", wee - t - myValue.length);
          sel.select();
        }
      } else if ($t.selectionStart
       || $t.selectionStart == '0') {
        var startPos = $t.selectionStart;
        var endPos = $t.selectionEnd;
        var scrollTop = $t.scrollTop;
        $t.value = $t.value.substring(0, startPos)
         + myValue
         + $t.value.substring(endPos, $t.value.length);
        this.focus();
        $t.selectionStart = startPos + myValue.length;
        $t.selectionEnd = startPos + myValue.length;
        $t.scrollTop = scrollTop;
        if (arguments.length == 2) {
          $t.setSelectionRange(startPos - t,
           $t.selectionEnd + t);
          this.focus();
        }
      } else {
        this.value += myValue;
        this.focus();
      }
    }
  })
})(jQuery);
/* 在textarea处插入文本--Ending */

调用方式:这里使用了easyui中的combobox控件和ueditor富文本控件

$("#sltLabel").combobox({
        onSelect: function (item) {
          var item = $('#sltLabel').combobox('getValue');
          if (item != undefined && item != null && item != "") {
            if ($("#sltChannel").val() == 0) {
              UE.getEditor('editor').focus();
              UE.getEditor('editor').execCommand('inserthtml', '{' + item + '}');
            } else {
              $("#txtContent").insertContent('{' + item + '}');
            }
          }
        }
      });

easyui-combobox代码:

 <select class="easyui-combobox" id="sltLabel" name="sltLabel" style="width: 150px" onselect="change()" data-options="panelWidth: 150,panelHeight: 'auto',valueField: 'Value',textField: 'Text'">
 <option value="">选择要插入的标签</option></select>

$("#sltLabel").combobox("loadData", data);

3、将 Date 转化为指定格式的String

// 对Date的扩展,将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, 
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) 
// 例子: 
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 
// (new Date()).Format("yyyy-M-d h:m:s.S")   ==> 2006-7-2 8:9:4.18 
Date.prototype.Format = function (fmt) { //author: zouqj 
  var o = {
    "M+": this.getMonth() + 1, //月份 
    "d+": this.getDate(), //日 
    "h+": this.getHours(), //小时 
    "m+": this.getMinutes(), //分 
    "s+": this.getSeconds(), //秒 
    "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
    "S": this.getMilliseconds() //毫秒 
  };
  if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  for (var k in o)
    if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  return fmt;
}

调用方式:new Date(json.ModifiedOn).Format("yyyy-MM-dd hh:mm:ss")

4、获取当前时间,格式:yyyy-MM-dd hh:mm:ss

//获取当前时间,格式:yyyy-MM-dd hh:mm:ss
function getNowFormatDate() {
  var date = new Date();
  var seperator1 = "-";
  var seperator2 = ":";
  var month = date.getMonth() + 1;
  var strDate = date.getDate();
  if (month >= 1 && month <= 9) {
    month = "0" + month;
  }
  if (strDate >= 0 && strDate <= 9) {
    strDate = "0" + strDate;
  }
  var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
      + " " + date.getHours() + seperator2 + date.getMinutes()
      + seperator2 + date.getSeconds();
  return currentdate;
}

5、  生成一个由随机数组成的伪Guid(32位Guid字符串)

//方式一
function newPseudoGuid () {
      var guid = "";
      for (var i = 1; i <= 32; i++) {
        var n = Math.floor(Math.random() * 16.0).toString(16);
        guid += n;
        if ((i == 8) || (i == 12) || (i == 16) || (i == 20))
          guid += "-";
      }
      return guid;
    }
//方式二
function S4() {
  return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
}
//生成guid
function guid() {
  return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# jquery  # 扩展  # 15个非常实用的JavaScript代码片段  # 你一定会收藏的Nodejs代码片段  # JavaScript的漂亮的代码片段  # JS跨域代码片段  # JavaScript和JQuery实用代码片段(一)  # 总结AJAX相关JS代码片段和浏览器模型  # 一段非常简单的让图片自动切换js代码  # 一段超强的javascript代码解密方法  # 一起来写段JS drag拖动代码  # 那些精彩的JavaScript代码片段  # 可以用  # 转化为  # 随机数  # 自定义  # 只能用  # 框中  # 使用了  # selectionEnd  # scrollTop  # startPos  # endPos  # setSelectionRange  # txtContent  # substring  # xhtml  # arguments  # moveEnd  # wee  # length  # select 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  青岛网站建设如何选择本地服务器?  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何快速生成高效建站系统源代码?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  Laravel定时任务怎么设置_Laravel Crontab调度器配置  如何获取上海专业网站定制建站电话?  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  JavaScript常见的五种数组去重的方式  Laravel怎么为数据库表字段添加索引以优化查询  jQuery validate插件功能与用法详解  如何快速选择适合个人网站的云服务器配置?  如何在阿里云完成域名注册与建站?  ,交易猫的商品怎么发布到网站上去?  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何在Tomcat中配置并部署网站项目?  西安专业网站制作公司有哪些,陕西省建行官方网站?  详解Android图表 MPAndroidChart折线图  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  简单实现Android验证码  bootstrap日历插件datetimepicker使用方法  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  微信小程序 require机制详解及实例代码  如何在云主机上快速搭建网站?  如何在IIS7中新建站点?详细步骤解析  手机软键盘弹出时影响布局的解决方法  如何挑选优质建站一级代理提升网站排名?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  香港服务器部署网站为何提示未备案?  香港服务器选型指南:免备案配置与高效建站方案解析  Laravel如何处理表单验证?(Requests代码示例)  JS中对数组元素进行增删改移的方法总结  魔毅自助建站系统:模板定制与SEO优化一键生成指南  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  JS经典正则表达式笔试题汇总  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  如何在景安服务器上快速搭建个人网站?  如何快速使用云服务器搭建个人网站?  JS实现鼠标移上去显示图片或微信二维码  高性能网站服务器配置指南:安全稳定与高效建站核心方案  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  利用JavaScript实现拖拽改变元素大小  Laravel如何升级到最新版本?(升级指南和步骤)  微信推文制作网站有哪些,怎么做微信推文,急?  如何在IIS管理器中快速创建并配置网站?  Bootstrap CSS布局之列表