前端常用的通用方法javascript.common.js

构建Vue.js通用组件库——common-lib-vue Vue.js是一个流行的开源JavaScript框架,用于构建用户界面。它被设计为渐进式,允许开发者根据需求分步骤地采用不同的特性。Vue的核心库只关注视图层,易于上手,并且可以通过插件扩展至各种复杂应用。Vue CLI生成的项目遵循一定的目录结构,这有助于开发者理解和管理项目文件。典型的Vue.js项目目录结构如下:├── src/:存放项目依赖项。public/:存放公共文件,如index.html。src/:存放源代码。assets/:存放图片、样式文件等资源。 阅读详情

在项目开发过程中,常遇到一样的方法,这时候就可以封装起来

PS:其实也过了好久,这里都已经不是最新的了

'use strict';


var JavascriptCommon = {

    /**

    * 剪切字符串

    * @ str 原字符串

    * @ 最大长度   

    */

    MsgCutWord: function (str, num) {

        if (str == null) { str = ""; }

        var result = str;

        var wordLength = str.length;

        if (wordLength > num) {

            result = str.substr(0, num);

            result += "...";

        }

        return (result);

    },


    /**

    *  修改日期格式年月日

    *  @ jsondate json日期

    *  @ splitchar 分隔符

    */

    ChangeDateFormat: function (jsondate, splitchar) {

        if (!jsondate) { return ""; }

        jsondate = jsondate.replace("/Date(", "").replace(")/", "");

        if (jsondate.indexOf("+") > 0) {

            jsondate = jsondate.substring(0, jsondate.indexOf("+"));

        }

        else if (jsondate.indexOf("-") > 0) {

            jsondate = jsondate.substring(0, jsondate.indexOf("-"));

        }

        var date = new Date(parseInt(jsondate, 10));

        var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;

        var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();

        return date.getFullYear() + splitchar + month + splitchar + currentDate;

    },


    /**

    *  修改日期格式年月日

    *  @ jsondate json日期

    *  @ splitchar 分隔符

    */

    ChangeDateFormat_hhmmss: function (jsondate, splitchar) {

        if (!jsondate) { return ""; }

        jsondate = jsondate.replace("/Date(", "").replace(")/", "");

        if (jsondate.indexOf("+") > 0) {

            jsondate = jsondate.substring(0, jsondate.indexOf("+"));

        }

        else if (jsondate.indexOf("-") > 0) {

            jsondate = jsondate.substring(0, jsondate.indexOf("-"));

        }

        var date = new Date(parseInt(jsondate, 10));

        var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;

        var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();

        var hh = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();

        var mm = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();

        return date.getFullYear() + splitchar + month + splitchar + currentDate + " " + hh + ":" + mm;

    },


    /**

    *  获得当天对应的天数

    *  @ jsondate json日期

    *  @ splitchar 分隔符

    */

    GetDateDay: function (jsondate) {

        if (!jsondate) { return ""; }

        jsondate = jsondate.replace("/Date(", "").replace(")/", "");

        if (jsondate.indexOf("+") > 0) {

            jsondate = jsondate.substring(0, jsondate.indexOf("+"));

        }

        else if (jsondate.indexOf("-") > 0) {

            jsondate = jsondate.substring(0, jsondate.indexOf("-"));

        }

        var date = new Date(parseInt(jsondate, 10));

        return date.getDate();

    },


    /**

    * 设置Cookie 【js版】

    * @ name 名称

    * @ value 内容

    * @ time 保存时间

    * @ path [可选] 路径

    * 删除时time传 -1

    */

    MsgSetCookie: function (name, value, time, path) {

        path = path || "";

        var d = new Date();

        d.setTime(d.getTime() + (time * 24 * 60 * 60 * 1000));

        var expires = "expires=" + d.toUTCString();

        path = "path=" + path;

        document.cookie = name + "=" + value + "; " + expires + "; " + path;

    },


    /**

    * 读取Cookie 【js版】

    * @ name 名称

    */

    MsgGetCookie: function (name) {

        name = (name + "=");

        var ca = document.cookie.split(';');

        for (var i = 0; i < ca.length; i++) {

            var c = ca[i];

            while (c.charAt(0) == ' ') c = c.substring(1);

            if (c.indexOf(name) != -1) return c.substring(name.length, c.length);

        }

        return "";

    },


    /**

    * 生成Guid 唯一主键

    * 把英文和-全部替换成纯数字

    */

    Guid: function () {

        var result = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {

            var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);

            return v.toString(16);

        });

        return result.replace(/-/ig, parseInt(Math.random() * 10)).replace(/[a-zA-Z]/ig, parseInt(Math.random() * 10));

    },


    /**

    * Base64加密解密类

    * @ .encode() 加密

    * @ .decode() 解密

    */

    Base64: function () {

        var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

        this.encode = function (input) {

            input = input || "";

            var output = "";

            var chr1, chr2, chr3, enc1, enc2, enc3, enc4;

            var i = 0;

            input = _utf8_encode(input);

            while (i < input.length) {

                chr1 = input.charCodeAt(i++);

                chr2 = input.charCodeAt(i++);

                chr3 = input.charCodeAt(i++);

                enc1 = chr1 >> 2;

                enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);

                enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);

                enc4 = chr3 & 63;

                if (isNaN(chr2)) {

                    enc3 = enc4 = 64;

                } else if (isNaN(chr3)) {

                    enc4 = 64;

                }

                output = output +

    _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +

    _keyStr.charAt(enc3) + _keyStr.charAt(enc4);

            }

            return output;

        };

        this.decode = function (input) {

            input = input || "";

            var output = "";

            var chr1, chr2, chr3;

            var enc1, enc2, enc3, enc4;

            var i = 0;

            input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

            while (i < input.length) {

                enc1 = _keyStr.indexOf(input.charAt(i++));

                enc2 = _keyStr.indexOf(input.charAt(i++));

                enc3 = _keyStr.indexOf(input.charAt(i++));

                enc4 = _keyStr.indexOf(input.charAt(i++));

                chr1 = (enc1 << 2) | (enc2 >> 4);

                chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);

                chr3 = ((enc3 & 3) << 6) | enc4;

                output = output + String.fromCharCode(chr1);

                if (enc3 != 64) {

                    output = output + String.fromCharCode(chr2);

                }

                if (enc4 != 64) {

                    output = output + String.fromCharCode(chr3);

                }

            }

            output = _utf8_decode(output);

            return output;

        };

        var _utf8_encode = function (string) {

            string = string.replace(/\r\n/g, "\n");

            var utftext = "";

            for (var n = 0; n < string.length; n++) {

                var c = string.charCodeAt(n);

                if (c < 128) {

                    utftext += String.fromCharCode(c);

                } else if ((c > 127) && (c < 2048)) {

                    utftext += String.fromCharCode((c >> 6) | 192);

                    utftext += String.fromCharCode((c & 63) | 128);

                } else {

                    utftext += String.fromCharCode((c >> 12) | 224);

                    utftext += String.fromCharCode(((c >> 6) & 63) | 128);

                    utftext += String.fromCharCode((c & 63) | 128);

                }


            }

            return utftext;

        };

        var _utf8_decode = function (utftext) {

            var string = "";

            var i = 0;

            var c = c1 = c2 = 0;

            while (i < utftext.length) {

                c = utftext.charCodeAt(i);

                if (c < 128) {

                    string += String.fromCharCode(c);

                    i++;

                } else if ((c > 191) && (c < 224)) {

                    c2 = utftext.charCodeAt(i + 1);

                    string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));

                    i += 2;

                } else {

                    c2 = utftext.charCodeAt(i + 1);

                    c3 = utftext.charCodeAt(i + 2);

                    string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));

                    i += 3;

                }

            }

            return string;

        };

    },


    /**

    * 打印对象属性和方法

    * @ obj 对象

    */

    ShowObjectAttr: function (obj) {

        for (var name in obj) {

            console.log(name + ": " + obj[name]);

        }

    },


    /**

    * 获取纯文字

    * @ html 富文本/html标签

    * @ length 长度 可选[默认全部]

    */

    MsgGetPureText: function (html, length) {

        var text = html.replace(/<[^>]+>/g, "");

        length = isNaN(length) ? text.length : length;

        return text.substring(0, length) + "...";

    },


    /**

    * 翻译状态

    * @ state

    */

    TranslateState: function (state) {

        switch (state) {

            case "0": return "待受理";

            case "1": return "待受理";

            case "2": return "已受理";

            case "3": return "不受理";

            case "4": return "已取消";

            case "5": return "被取消";

            default: return "未定义";

        }

    },


    /**

    * 邮件判断

    * @ email

    */

    ValidateEmail: function (email) {

        var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;

        return myreg.test(email);

    },


    /**

    * 电话判断

    * @ phone

    */

    ValidatePhone: function (phone) {

        var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;

        return myreg.test(phone);

    }

};

common-scripts:这是程序员最常用的脚本 common-scripts 在这里积累下程序员最常使用的脚本 程序员经常会遇到许多重复性的工作,或是人工操作步骤复杂的工作等,都是可以通过脚本来实现,大大提交工作效率。 本着用多少,学多少的思想,积累。 概念 任何一个知识点,都需要对整体、概要有个了解,主要是为了在脑海中形成一张图,以后遇到问题,结合上下文,自己能够判断问题的范围、边界。 参见: 语法级别 bash syntax 编写脚本过程中,常用的或必须掌握的语法点有 变量,声明、赋值、使用 字符串,单引号 / 双引号(区别)、位置、截取、拼接 数组,定义、赋值、取值、长度、遍历 参数,传递、取值、特殊字符处理参数 流程控制,if, else, for, while, case, break... 函数,定义、调用、参数、返回值(数值/字符) 有了以上这些知识点,就可以写出很灵活、可用性高的脚本了。在此列出常用语法。 参见: 常用脚 立即下载

相关推荐

CommonScripts:一些有用的脚本

CommonScripts Some useful scripts. 一、convert.sh 1.1 说明 该Shell脚本用于将Windows下可用源码转换为Linux下可用源码。 Windows下编写的代码(如C\C++\Java等)放到Linux下不能直接编译, 因为主要存在两个问题: Windows和Linux的行尾符不同, Windows下行尾符是"\n\r", 而Linux的行尾符是"\n" Windows下编码通常是GB2312, 而Linux中的编码通常是UTF-8。 1.2 使用 使用之前 sudo apt-get install dos2unix 使用 bash trans.sh 指定文件夹 要转换文件的拓展名 例如,将/home文件夹及其子文件下所有java源文件进行转换 bash trans.sh /home java 1.3 对应博文

探索Common-scripts:实用脚本合集,让编程更高效

探索Common-scripts:实用脚本合集,让编程更高效 项目简介 是一个开源的、由社区驱动的项目,它汇集了一系列常用且跨平台的Shell和Python脚本。这些脚本旨在解决日常开发中的琐碎任务,提高程序员的工作效率。无论你是初学者还是经验丰富的开发者,这个项目都能为你的工作流程带来便利。 技术分析 脚本语言多样性 该项目主要使用两种脚本语言——Shell(bash)和Python。Bash脚...

gitblog_00006的博客 448

Common.js 通用js方法类

基于jQuery的Common.js中包含很多简化后的js通用方法,如Ajax,获取标准化的Url参数、加密、解密、获取操作系统版本、获取浏览器版本、打开导出excel文件、获取系统路径、获取控件上面高度 对象或ID、控件ID 等等。。

ECMAScript this

默认绑定function foo() { console.log(this.a); } var a = 2; foo(); // 其实就是this.foo()输出:2。函数调用时应用了this的默认绑定,因此this.a其实就是全局变量中的a变量。严格模式下,不使用默认绑定。因此foo方法里的this会绑定到undefined。function foo() { "use strict"; ...

Winne_Shen的专栏 350

用Python 绘制一个只属于你自己的世界地图

Python之所以这么流行,是因为它不仅能够应用于科技领域,还能用来做许多其他学科的研究工具,绘制地图便是其功能之一。 今天我们用matplot工具包之一的mpl_toolkits来绘制世界地图,这是一个简单的可视化工具,如果希望绘制更加复杂的地图,可以考虑使用Google Maps API,不过这不在我们今天的讨论范围之内。 1.安装 为了能够顺利开展本项目,你需要先安装以下依赖,在cmd或Terminal中输入以下命令: pipinstallnumpy pipinstallm...

qq_38887171的博客 1872

Ubuntu 解决WPS缺少宋体,微软雅黑等中文字体

这篇博客解决Ubuntu 18.04 无法使用中文字体的问题 问题描述

分享日常的学习,开展的项目,编写的软件,解决的问题等~ 1万+

【JavaScript】——前端模块化—CommonJS规范与ES6规范

模块化管理是开发必备技能,快来一起学习吧!

qq_50497708的博客 806

通过 CoovaChilli 和 FreeRADIUS 搭建一个公共 Wi-Fi 的认证系统,实现用户连接到 Wi-Fi 后通过 Captive Portal(强制登录页面)进行认证

要实现固定设备连接的功能,你可以通过MAC 地址认证来限制哪些设备可以通过 FreeRADIUS 进行身份验证和连接。你可以在 FreeRADIUS 的users文件中直接配置允许的设备的 MAC 地址,也可以通过数据库存储和查询设备信息,进一步提高管理效率。通过这些方法,你可以灵活地控制哪些设备能够访问你的 Wi-Fi 网络。

m0_69943017的博客 2651

JSCL:将Common Lisp编译为JavaScript的强大工具

JSCL(JavaScript Common Lisp)是一个将Common Lisp代码编译为JavaScript的编译器。它不仅支持在浏览器中运行,还可以通过Node.js在服务器端执行。JSCL的核心优势在于其能够将Lisp的强大功能与JavaScript的广泛应用场景相结合,为开发者提供了一种全新的编程体验。 ## 项目技术分析 JSCL的核心技术在于其编译器的设计。它通过自举(boo...

gitblog_00388的博客 916

Windows 24H2升级后eNSP AR_40报错40?VirtualBox虚拟化修复指南

虚拟化技术通过Hypervisor在操作系统与硬件间建立抽象层,使虚拟机能够共享物理资源。其核心原理依赖CPU的VT-x/AMD-V指令集,而Windows 24H2对内核隔离与驱动签名的强化会直接占用或拦截这些虚拟化资源。在工程实践中,VirtualBox作为Type-2型Hypervisor,常因内存完整性开启或版本过旧导致虚拟网卡创建失败,进而引发设备启动中断。典型场景包括网络仿真实验、多系统测试环境搭建等。当eNSP的AR_40路由器依赖VirtualBox引擎时,24H2的安全策略变更便会触发错误

weixin_34375251的博客 218

gephi生成网络关系图_路网拓扑重建专题 (3) 网络图生成

城市道路网建模在获得基础路网之后,需要考虑道路交通网络的描述与表达问题。网络是将现实世界中的事物及其关系进行适当的抽象,构造成由节点和边按照一定规则组成的形式。一个实体网络可以由有限个“节点”集合与“边”集合构成的图表示,即网络表示为。对于一个由个节点组成的无权复杂网络,该图有邻接矩阵,这里。根据研究对象不同,建模方法主要包括原始法[1]和对偶法[2]两种,见图1,字母a-j为交叉口编号...

weixin_39761195的博客 3504

前端模块化之Common.js

模块与Common.js ( Node.js使用了Common.js规范) Node.js中Common.js规范有三种使用类型: 1. 内置模块 (path,url,fs,precess) 内置模块很多,我们下面以 磁盘处理的模块 为例 内置模块我们注重的模块的使用 使用步骤: 1. 先引入模块,然后用一个变量保存这个模块( 内置模块在requrie(模块名称) ) 2. 使用这...

weixin_42635130的博客 1121

【unity实战】Unity手搓脚本工具实现合并网格功能

本文介绍了在Unity中优化网格性能的方法,通过合并重复网格减少绘制调用。主要使用Mesh.CombineMeshes方法实现网格合并,支持统一材质和多材质处理。核心内容包括:1)基础合并脚本实现,将子网格合并到父对象并禁用原网格;2)统一材质设置,支持自定义或默认材质;3)多材质合并方案,通过设置mergeSubMeshes=false保留子网格材质索引。文章还提供了完整代码示例和操作演示,适用于实际项目中的网格优化需求。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 561

探索 Vue.js:渐进式 JavaScript 框架概述

项目创建完成后,进入项目目录,可以看到以下主要目录和文件:src目录:存放项目的源代码,包括组件、视图、路由配置、状态管理等相关文件。public目录:用于存放静态资源,如图片、图标、HTML 模板文件等。文件:记录项目的依赖信息、脚本命令等。

m0_57836225的博客 1393

搞定最强大模型Gemini学生订阅,白嫖一年,包教包会

白嫖现在最强大模型

BUG猿的博客 2万+

14、多标签分类与卷积神经网络在医学图像处理中的应用

本文探讨了多标签分类与卷积神经网络(CNN)在医学图像处理中的应用。文章详细介绍了多标签分类的概念和挑战,以及如何通过CNN进行高效、准确的分类任务。内容涵盖模型设计、损失函数选择、数据增强技术、类别权重调整等关键技术点,并结合实际案例,如白内障手术工具检测、视网膜血管分割等,展示了CNN在医学图像分析中的强大潜力。此外,还讨论了模型优化策略及面临的挑战与解决方案。

t8u9v0的博客 193

AMD CMD Common.js 前端模块化

AMD CMD Common.js 前端模块化 1. 前端模块化 问题: 为什么前端要使用模块化? 模块化: 是具有特定功能的一个对象( 广义理解 ) 2.模块定义的流程: 1.定义模块(对象) 2.导出模块 3.引用模块 好处: 可以存储多个独立的功能块 复用性高 种类 1. AMD( require.js) 2. CMD ( sea.js ) 3. Common.js 2. ...

神经什么 的博客 328

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

前端Vue uni-app中的通用网络请求封装:common.js的使用

在前端开发中,网络请求是必不可少的环节。为了提高开发效率和代码复用性,我们通常会对网络请求进行封装。本文将介绍如何使用common.js文件来封装网络请求,并通过Vue uni-app框架实现通用请求。这种封装方式支持多种请求类型、动态配置请求地址和参数,并且具有请求成功和失败的回调处理。

chenchuang0128的博客 1232

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

JS-YAML:为什么你的下一个JavaScript项目需要这个YAML处理神器?

在现代JavaScript开发中,你是否经常需要处理配置文件、数据交换格式或复杂的结构化数据?如果你还在为JSON的繁琐语法和缺乏注释支持而烦恼,那么JS-YAML正是你需要的解决方案。这个强大的YAML解析器和生成器不仅速度快,而且功能完整,支持YAML 1.2规范,为你的JavaScript项目带来了全新的数据序列化体验。 ## 🌟 JS-YAML的价值主张:超越JSON的数据表达艺术

gitblog_00414的博客 964

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

JSCL:Common Lisp 到 JavaScript 编译器使用教程

JSCL 是一个从 Common Lisp 到 JavaScript 的编译器,它通过 Common Lisp 自举实现,并且可以在浏览器中执行。JSCL 的目标是提供一个 Common Lisp 的子集,使其能够在 JavaScript 环境中运行。 ## 2、项目快速启动 ### 安装 JSCL 你可以通过 npm 安装 JSCL: ```bash npm install -g jsc...

gitblog_01112的博客 1113

前端页面的common.js里常用的方法

常用方法: //展示loading function g_showLoading(){ var idx = layer.msg('处理中...', {icon: 16,shade: [0.5, '#f5f5f5'],scrollbar: false,offset: '0px', time:100000}) ; return idx; } //salt var g_passsword_s...

Richard_666的博客 614

全面理解JS模块的标准(AMD、CMD、COMMON.JS 、 UMD、ESM)

require.js是AMD模块规范的一个具体实现核心是通过define方法对无序的代码进行有序的模块化定义,通过require方法实现代码的模块化加载});control.js/*** 登录状态检测*/};/*** 模块调用及配置*/{// 登录页});};// 注册页});};};{// 详情页});};};};});sea.js是CMD模块规范的一个具体实现在定义模块方面, CMD和AMD一样通过define函数来定义模块;

qq_30436011的博客 4837

模块/包 与Common.js

Node.js使用了Common.js规范 Node.js中Common.js规范有三种使用类型: 内置模块 path url fs precess //内置模块很多,我们下面以 磁盘处理的模块 为例 //内置模块注重模块的使用,直接用就行了 //1.先引入模块,然后用一个变量保存 var path=require(‘path’);//内置模块在require里直接写模块名称 console.lo...

yujiawei1116的博客 209

CL-JavaScript:搭建Common Lisp与JavaScript的桥梁

CL-JavaScript:搭建Common Lisp与JavaScript的桥梁 项目介绍 在寻求编程语言间无缝交流的探索中,【CL-JavaScript**脱颖而出。该项目致力于成为连接历史悠久且功能强大的Common Lisp与互联网前端灵魂——JavaScript的桥梁。由Alan Pavičić、Marijn Haverbeke(也是著名的parse-js库作者)以及Iva Juriši...

gitblog_00674的博客 997

AMD、CMD、Common.js(重点)

前端模块化 模块化: 是具有特定功能的一个对象( 广义理解 ) 模块定义的流程: 定义模块(对象) 导出模块 引用模块 模块化的好处: 可以存储多个独立的功能块 复用性高 种类 AMD( require.js) CMD ( sea.js ) Common.js AMD、CMD、Common.js(转自https://blog.csdn.net/u012207345/artic...

EatsSinner的博客 295

vue创建并使用公共js方法

vue创建并使用全局js中的方法

大前端 2737
上一篇: 手把手,教你用nodejs搭建后台最小系统(大量图文)系列二
下一篇: CDN简谈及实现原理分析
Msgyvcici
博客等级 码龄11年 12粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值