前端开发必备:实用Tool封装工具类方法大全

news2024/12/28 4:02:41

程序员必备宝典网站icon-default.png?t=O83Ahttps://tmxkj.top/#/

1.判断空值

/**
 * 判断是否是空值
 */
export function isEmpty(value) {
    if (typeof value === 'string') {
       return value.length === 0 || value === "";
    } else if (typeof value === 'number') {
       return value === 0;
    } else if (Array.isArray(value)) {
       return value===[];
    } else if (typeof value === 'object' && value !== null) {
       return value==={};
    } else if (value || value===false){
        return false;
    } else return value == null || typeof value === 'undefined';
}

2.校验是否是QQ邮箱

/**
 * 校验是否是邮箱
 */
export function isValidQQEmail(email) {
    let re = /^[1-9][0-9]{4,10}@qq\.com$/;
    return re.test(String(email).toLowerCase());
}

3.校验手机号

/**
 * 校验手机号
 */
export function isPhoneNumberValid(phoneNumber) {
    if (phoneNumber.toString().length===11){
        const regex = /^1[3-9]\d{9}$/;
        return regex.test(phoneNumber);
    }else {
        return false;
    }
}

4.消息提示(element-plus)

/**
 * 消息提示
 */

export function isMsg(res={code:200,msg:"成功"}){
    if (res.code===200){
        ElNotification({
            title: '提示',
            message: res.msg,
            type: 'success',
            zIndex:99999,
        })
    }else if(res.code=== 400 || res.code === 404) {
        ElNotification({
            title: '提示',
            message: res.msg,
            type: 'warning',
            zIndex:99999,
        })
    }else if(res.code===500){
        ElNotification({
            title: '提示',
            message: res.msg,
            type: 'error',
            zIndex:99999,
        })
    }else {
        ElNotification({
            title: '提示',
            message: res.msg,
            type: 'info',
            zIndex:99999,
        })
    }
}

5.get参数转换

/**
 * 参数转换
 * @param result
 * @returns {string}
 */
 const queryParam =result=> {
    let queryString = Object.keys(result)
        .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(result[key])}`)
        .join('&');
    if (queryString.length >= 2) {
        return '?' + queryString;
    } else {
        return '';
    }

}

6.身份证校验

/**
 *身份证校验
 */
export function IdCardVerify(e) {
    // 身份证号码正则表达式
    var reg = /^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/;
    let pass= reg.test(e);
    let sex = "男"
    if (pass){
        sex = parseInt(e.substr(16, 1)) % 2 === 0 ? '女' : '男';
    }else {
        return {pass,sex}
    }
}

7.网页参数转对象

/**
 * 网页参数转对象
 */
export function paramsTransform(e){
    let params = {};
    let pairs = e.split('&');
    for (let i = 0; i < pairs.length; i++) {
        let pair = pairs[i].split('=');
        params[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);
    }
    return params;
}

8.本地模糊查询

/**
 * 本地模糊查询
 */
export function likeFilter(lists,keyWord){
   return  lists.filter(item => {
       return Object.values(item).some(val =>
           val?.toString().includes(keyWord))
   });
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2167545.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TypeScript 设计模式之【抽象工厂模式】

文章目录 抽象工厂模式:一个神奇的玩具制造商主要思想:玩具制造商的秘密这个制造商有什么好处和坏处?如何打造这个神奇的玩具制造商?代码实现案例抽象工厂模式主要优点抽象工厂模式主要缺点抽象工厂模式适用场景总结 抽象工厂模式:一个神奇的玩具制造商 想象一下&#xff0c…

(done) 声音信号处理基础知识(7) (Understanding Time Domain Audio Features)

参考&#xff1a;https://www.youtube.com/watch?vSRrQ_v-OOSg&t1s 时域特征包括&#xff1a; 1.幅度包络 2.均方根能量 3.过零率 振幅包络的定义&#xff1a;一个 frame 里&#xff0c;所有采样点中最大的振幅值 一个形象的关于振幅包络的可视化解释如下&#xff1a;…

基于SpringBoot + Vue的大学生日常消费管理系统设计与实现

文章目录 前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S 四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论 五、项目代码参考六、数据库代码参考七、项目论文示例结语 前言 &#x1f49b;博主介绍&a…

fiddler抓包07_抓IOS手机请求

课程大纲 前提&#xff1a;电脑和手机连接同一个局域网 &#xff08;土小帽电脑和手机都连了自己的无线网“tuxiaomao”。&#xff09; 原理如下&#xff1a; 电脑浏览器抓包时&#xff0c;直接就是本机网络。手机想被电脑Fiddler抓包&#xff0c;就要把Fiddler变成手机和网络…

浅拷贝和深拷贝(Java 与 JavaScript)

一、Java 浅拷贝和深拷贝 在Java中&#xff0c;浅拷贝和深拷贝的主要区别在于对对象的引用和内容的复制方式。 浅拷贝 Java 的类型有基本数据类型和引用类型&#xff0c;基本数据类型是可以由 CPU 直接操作的类型&#xff0c;无论是深拷贝还是浅拷贝&#xff0c;都是会复制出…

ANSYS Workbench晶体结构Voronoi泰森多边形建模

在ANSYS Workbench内建立包含晶格及晶格边界在内的晶体结构模型&#xff0c;可用于模拟多种物理现象及材料行为。晶格模型适用于研究微观尺度下的材料性质&#xff0c;以及它们如何影响宏观性能&#xff0c;如进行金属晶体结构建模及断裂的模拟等。 晶体结构模型可采用CAD Vo…

fastapp-微信开发GPT项目第一课

0. 开发说明 在学习开发本项目之前&#xff0c;必须保证有以下知识储备和环境工具。 技术栈说明python>3.9、pydantic>2.7.1python基础&#xff0c;http协议fastapi>0.111.0web协程异步框架&#xff0c;有web开发基础&#xff0c;异步编程&#xff0c;类型标注[pyth…

银河麒麟操作系统中查看动态库函数的方法

银河麒麟操作系统中查看动态库函数的方法 1、查看单个动态库中的函数2、查找特定函数位于哪个动态库中 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Linux系统&#xff0c;包括银河麒麟操作系统中&#xff0c;动态库&#xff08;.so文件…

单片机项目合集列表与专栏说明——Excel合集列表目录查阅(持续更新)

阿齐Archie《单片机项目合集》专栏项目 为方便查找本专栏的项目&#xff0c;特整理Excel合集列表供查阅&#xff08;可搜索或按系列查找&#xff09; 持续更新链接如下&#xff1a; 阿齐单片机项目合集 (kdocs.cn)https://www.kdocs.cn/l/cmrxCxJN05YN 打开链接如下Exce表所…

【LeetCode:219. 存在重复元素 II + 哈希表】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

人工智能领域-----机器学习和深度学习的区别

机器学习和深度学习都是人工智能领域中的重要概念&#xff0c;它们之间存在以下一些区别&#xff1a; 一、定义与概念 机器学习&#xff1a; 是一种让计算机自动学习和改进的方法&#xff0c;通过从数据中学习模式和规律&#xff0c;从而能够对新的数据进行预测或决策。涵盖了…

Android compose 的基本环境搭建

1.创建项目 导入版本 1.gradle/libs.versions.toml [versions] accompanistPermissions "0.36.0" agp "8.5.0-beta01" coilCompose "2.7.0" constraintlayoutComposeVersion "1.0.1" hiltAndroid "2.51.1" hiltNavi…

git其他人有改动,自己这边不要pull,先stash一下,pull了然后apply自己的stash。

git其他人有改动&#xff0c;自己这边不要pull&#xff0c;先stash一下&#xff0c;pull了然后apply自己的stash&#xff0c; git 冲突了怎么处理处理&#xff1f; git会提示冲突的文件 On branch experiments You have unmerged paths.(fix conflicts and run "git comm…

代码随想录 -- 回溯 -- 子集II

90. 子集 II - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 题目中说明nums中可能包含重复元素&#xff0c;所以要去重。 去重的前提是将数组nums排序&#xff01; 递归参数&#xff1a;nums&#xff0c;index&#xff0c;path递归出口&#xff1a;当遍历完num…

编译和链接笔记

翻译环境和运⾏环境 在ANSI C的任何⼀种实现中&#xff0c;存在两个不同的环境。 第1种是翻译环境&#xff0c;在这个环境中源代码被转换为可执⾏的机器指令&#xff08;⼆进制指令&#xff09;。 第2种是执⾏环境&#xff0c;它⽤于实际执⾏代码。 1.翻译环境 其实翻译环境…

这3个证书在手,失业了也不怕.

在忙碌的职场生活中&#xff0c;考取一两个证书已成为众多职场人士的热门选择。 拥有这些证书不仅能为个人职业发展带来机遇&#xff0c;还能为职业转型铺平道路&#xff0c;特别是在主业遇到波折时。 接下来&#xff0c;让我们一同探索三个适合上班族的热门证书。 PMP认证&…

Unity 新NavMesh演示(1)

新版Navmash 导航寻路 保姆级入门讲解-CSDN博客 演示&#xff1a; 第一步 给场景中的BK添加导航网格表面组件 并设置详细参数 第二步 为player添加导航网格代理 并编写脚本设置target public class Text : MonoBehaviour {private NavMeshAgent agent;public Transform targe…

【从0开始自动驾驶】ros2编写自定义消息 msg文件和msg文件嵌套

【从0开始自动驾驶】ros2编写自定义消息 msg文件和msg文件嵌套 在工作空间内新建一个功能包在msg内创建对应的msg文件创建名为TestMsg.msg的文件创建名为TestSubMsg.msg的文件&#xff08;在前一个msg文件中引用&#xff09;修改CmakeList.txt修改package.xml文件编译 在工作空…

获取交易软件【热度排行数据】2024年9月26日,一股淡淡的牛味

2024年9月26日&#xff0c;一股淡淡的牛味 概念热度的排行榜和行业热度排行榜。 像是这种类型的数据&#xff0c;能不能加到我们的量化模型里面&#xff0c;作为选股和下单指令的判断条件之一呢&#xff1f; 下面图片&#xff0c;有很多数据接口&#xff0c;可以1对1帮助您解…