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

程序员必备宝典网站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.mfbz.cn/a/883564.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Kafka 面试题

参考&#xff1a; https://javabetter.cn/interview/kafka-40.htmlhttps://javaguide.cn/high-performance/message-queue/kafka-questions-01.html Kafka 架构 名词概念 Producer&#xff08;生产者&#xff09; : 产生消息的一方。 Consumer&#xff08;消费者&#xff09; …

MySQL---创建数据库(基于SQLyog)

目录 0.前言 1.基本认识 1.1编码集 1.2检验规则 2.库的创建和销毁 2.1指令介绍 2.2你可能会出现的问题 3.查看数据库属性 4.创建指定数据库 5.创建表操作 0.前言 之前写过一篇这个关于表的创建和销毁的操作&#xff0c;但是当时是第一次学习&#xff0c;肯定有些地方…

failed to load steamui.dll的多种处理方法,steamui.dll的作用

在使用Steam平台时&#xff0c;不少玩家可能会遇到“failed to load steamui.dll”这样令人头疼的错误提示。这个错误会阻碍Steam客户端的正常运行&#xff0c;影响我们享受游戏和Steam平台的各种服务。不过&#xff0c;不必过于担心&#xff0c;因为有多种方法可以尝试解决这个…

【Linux】当前进展

驱动层日志添加了下文件目录&#xff0c;函数&#xff0c;代码行的打印&#xff08;这里要小心&#xff0c;驱动目录源代码打印日志里边添进程号可能有问题&#xff0c;因为在驱动初始化的时候&#xff0c;内核还没有创建进程&#xff0c;不过猜测可以先不打印进程相关信息&…

C++ | Leetcode C++题解之第419题棋盘上的战舰

题目&#xff1a; 题解&#xff1a; class Solution { public:int countBattleships(vector<vector<char>>& board) {int row board.size();int col board[0].size();int ans 0;for (int i 0; i < row; i) {for (int j 0; j < col; j) { if (board…

Linux下线程间的通信

为什么需要线程通信&#xff1f; 线程是操作系统调度的最小单元&#xff0c;拥有自己的栈空间。如果线程之间孤立运行&#xff0c;可能会导致资源浪费。线程需要协调工作以完成共同的任务&#xff0c;这就需要线程间相互通信 在 Linux 系统中&#xff0c;线程间通信&#xff…

MySQL数据库进阶知识(四)《视图、存储过程、触发器》

学习目标&#xff1a; 掌握数据库视图基础知识 掌握数据库存储过程原理 掌握数据库触发器相关知识 学习内容&#xff1a; 一. 视图 介绍 视图&#xff08;View&#xff09;是一种虚拟存在的表。视图中的数据并不在数据库中实际存在&#xff0c;行和列数据来自定义视图的查询…

基于GIKT深度知识追踪模型的习题推荐系统源代码+数据库+使用说明,后端采用flask,前端采用vue

基于GIKT深度知识追踪模型的习题推荐系统 目录结构 Flask-BackEnd flask后端 app 后端主体文件 alg 深度学习模块 data 数据集data_process.py 数据预处理gikt.py GIKT模型pebg.py PEBG模型params.py 一些参数train.py 仅模型训练train_test.py 模型训练和测试-五折交叉验证t…

Docker 天池代码提交

参考零基础入门Docker-cuda练习场_学习赛_天池大赛-阿里云天池的赛制 (aliyun.com) ​ 在Docker零基础入门-CSDN博客中我已经安装了docker,现在开始创建自己的镜像仓库。 1. 开通阿里云容器镜像服务(镜像仓库) 进入容器镜像服务 (aliyun.com) 1.1. 创建个人实例 点击“…

try catch 应该在for循环里面还是外面?

今天咱们就来聊聊“try catch 应该在 for 循环里面还是外面”的问题&#xff0c;别小看这句话&#xff0c;背后可是有大智慧的。 首先&#xff0c;咱得明确一点&#xff0c;try catch 是为了处理异常的。它能让你的代码在遇到问题时不至于“崩溃”&#xff0c;更像是你职场生涯…

实景三维夯实数字乡村孪生底座

随着数字乡村建设的不断推进&#xff0c;实景三维技术在乡村规划、管理、服务等方面发挥着越来越重要的作用。本文将探讨实景三维技术如何夯实数字乡村的孪生底座&#xff0c;为乡村的可持续发展提供强有力的支撑。 一、数字乡村建设的背景 数字乡村建设是推动乡村全面振兴、…

使用Crawler实例进行网页内容抓取

网页内容抓取的背景 随着互联网的快速发展&#xff0c;网页上的信息量日益庞大。如何从海量的网页中快速、准确地抓取所需信息&#xff0c;成为了一个技术挑战。网页内容抓取技术通过自动化的方式&#xff0c;模拟用户浏览网页的过程&#xff0c;获取网页上的文本、图片、链接…

探索未来:MultiOn,AI的下一个革命

文章目录 探索未来&#xff1a;MultiOn&#xff0c;AI的下一个革命背景&#xff1a;为什么选择MultiOn&#xff1f;MultiOn是什么&#xff1f;如何安装MultiOn&#xff1f;简单的库函数使用方法场景应用常见问题及解决方案总结 探索未来&#xff1a;MultiOn&#xff0c;AI的下一…

深度学习与应用:行人跟踪

**实验 深度学习与应用&#xff1a;行人跟踪 ** ------ **1、 实验目的** ------ - 了解行人跟踪模型基础处理流程 - 熟悉行人跟踪模型的基本原理 - 掌握 行人跟踪模型的参数微调训练以及推理的能力 - 掌握行人跟踪模型对实际问题的应用能力&#xff0c;了解如何在特定的场景和…

pycirclize python包画circos环形图

pycirclize python包画circos环形图 很多小伙伴都有画环形图的需求&#xff0c;网上也有很多画环形图的教程&#xff0c;讲解circos软件和circlize R包的比较多&#xff0c;本文介绍一款python包:pyCirclize。适合喜欢python且希望更灵活作图的小伙伴。 pyCirclize包实际上也…

LSI SAS 9361-8i和SAS3008 12 gb / s PCIe 3.0 RAID 阵列卡配置

LSI SAS 9361-8i和SAS3008 12 gb / s PCIe 3.0 RAID 阵列卡配置 开机&#xff0c;BIOS自检&#xff0c;可以看到设备硬盘信息&#xff0c;以及提示CtrlR进入Raid卡配置界面。 按CtrlR进入Raid卡配置界面&#xff0c;一般来说使用CtrlR进入Raid卡配置界面的Raid卡配置都通用。 …

【Qualcomm】高通SNPE框架的使用 | 原始模型转换为量化的DLC文件 | 在Android的DSP端运行模型

目录 ① 激活snpe环境 ② 设置环境变量 ③ 模型转换 ④ run 首先&#xff0c;默认SNPE工具已经下载并且Setup相关工作均已完成。同时&#xff0c;拥有原始模型文件&#xff0c;本文使用的模型文件为SNPE 框架示例的inception_v3_2016_08_28_frozen.pb文件。image_file_list…

点餐小程序实战教程11数据源设计

目录 1 设计图2 创建数据源2.1 菜品分类2.2 菜品表 3 创建管理应用4 设置上架下架功能总结 我们用了10篇讲解了一下用户管理及权限设计&#xff0c;有了用户和权限相当于有了骨架&#xff0c;但是我们还需要有良好的设计来确保我们的小程序的开发顺利进行。 在数据源的设计中&a…

通信工程学习:什么是PNF物理网络功能

PNF:物理网络功能 PNF(Physical Network Function)即物理网络功能,是指支持网络功能的物理设备。以下是关于PNF的详细解释: 一、定义与特点 定义: PNF是网络设备厂商(如Cisco、华为、H3C等)通过专用硬件实体提供软件功能的设备。这些设备直接在物理服务器上运…

拓数派荣获上海数据交易所“数据治理服务商”认证

近期&#xff0c;杭州拓数派科技发展有限公司&#xff08;以下简称“拓数派”&#xff09;荣获上海数据交易所“数据治理服务商”认证&#xff0c;标志着拓数派正式加入上海数据交易所数商生态&#xff0c;成为上海数据交易所官方认证的数据治理服务商。拓数派企业发展部总监吴…