草庐IT

打造开箱即用的JS工具库之Xijs更新指南

趣谈前端 2023-04-09 原文

xijs 是一款开箱即用的 js 业务工具库, 聚集于解决业务中遇到的常用的js函数问题, 帮助开发者更高效的进行业务开发。

接下来就和大家一起分享一下v1.2.2 版本的更新内容。

1、添加常用判断函数

该模块主要由知乎作者 萌萌你萌不萌啊 贡献, 添加内容如下:

  • isPhone - 判断手机号格式。
  • isEmail - 判断邮箱函数。
  • isIdCard - 判断身份证格式函数。
  • isPhone - 判断手机号格式。
  • lang - 判断中英文。

使用方式如下:

import { 
isPhone,
isEmail,
lang
} from 'xijs';

// 判断是否为正确的邮箱格式
console.log(isEmail('1111@qq.com')); // -> true

// 判断是否为正确的手机格式
console.log(isPhone(13334433333)); // -> true

// 判断是否为英文
console.log(lang.isEn('sadsad')); // -> true
// 判断是否为中文
console.log(lang.isCn('萨达')); // -> true

2、添加常用数学计算函数

该模块主要由 EasyRo 贡献, 添加内容如下:

  • factorial - 阶乘计算
  • fibonacci - 计算斐波那契数
  • sum - 求和数组

这几个方法对于一些需要用到数学计算的场景非常有帮助. 接下来介绍一下具体用法:

接下来我们跑一下单元测试, 对整个库做一个全面的扫描:

整个测试一共花了17.68s, 测试全部通过, 各位小伙伴们可以放松食用。

为了方便大家更好的了解 xijs 这个库, 我列一个完整的目录结构供大家参考, 也可以直接用 xijs 的在线文档中去参考学习。

  • 浏览器相关 getRuntimeEnv - 获取运行环境getSelection - 获取选中文本redirect - 重定向store - 本地存储库。
  • 字符串操作 base64 - base64编码和解码camelize - 横线转驼峰命名charCount - 获取字符数formatNumber - 数值千分位格式化formatPercent - 值转换为百分数表示hyCompact - 紧凑型驼峰命名转换hyphenate - 驼峰命名转横线命名randomStr - 生成随机字符串repeat - 生成重复字符串uuid - 生成唯一id。
  • 常用判断函数 isArray - 判断数组类型isEmpty - 判断空对象isPc - 判断设备类型isPhone - 判断手机号格式isEmail - 判断邮箱函数isIdCard - 判断身份证格式函数isPhone - 判断手机号格式lang - 判断中英文。
  • 数据结构相关 cloneDeep - 数据深拷贝formatDate - 时间格式化getRawType - 获取数据类型obj2url - 将对象参数解析为url字符串transformTree - 扁平转树结构url2obj - url字符串转对象。
  • 图片处理函数 compressImg - 自定义压缩图片函数file2img - 文件转图片对象hex2rgba - hex色值转rgbargba2obj - 将rgba值转化为rgba对象。
  • js高级函数 debounce - 防抖函数parser - json超级解析器sleep - 睡眠函数throttle - 节流函数。
  • 常用算法和数据结构 bubbleSort - 冒泡排序quickSort - 快速排序。
  • 数学计算 average - 计算数组平均值difference - 创建一个排除指定项的数组random - 返回区域内随机数shuffle - 打乱数组factorial - 阶乘计算fibonacci - 计算斐波那契数sum - 求和数组。
  • 几何计算 coordinatesInCircle - 生成圆内任意坐标coordinatesInRect - 生成矩形内任意坐标judgePointInCircle - 判断一点是否在圆内。

有关打造开箱即用的JS工具库之Xijs更新指南的更多相关文章

  1. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  2. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  3. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  4. ruby-on-rails - 有没有一种工具可以在编码时自动保存对文件的增量更改? - 2

    我最喜欢的Google文档功能之一是它会在我工作时不断自动保存我的文档版本。这意味着即使我在进行关键更改之前忘记在某个点进行保存,也很有可能会自动创建一个保存点。至少,我可以将文档恢复到错误更改之前的状态,并从该点继续工作。对于在MacOS(或UNIX)上运行的Ruby编码器,是否有具有等效功能的工具?例如,一个工具会每隔几分钟自动将Gitcheckin我的本地存储库以获取我正在处理的文件。也许我有点偏执,但这点小保险可以让我在日常工作中安心。 最佳答案 虚拟机有些人可能讨厌我对此的回应,但我在编码时经常使用VIM,它具有自动保存功

  5. ruby-on-rails - 在 Rails 3 中进行身份验证最常用的方法是什么? - 2

    我需要在rail3中使用标准注册/登录/忘记密码功能进行身份验证。是否有大多数人为此使用的插件或其他东西? 最佳答案 我不确定最常用的方法是什么-但可以肯定的是,Plataformatec的“Devise”是一个非常流行的方法:http://github.com/plataformatec/devise我已经尝试了一些authgem,对我来说,它是最简单的设置和修改以满足我的需要。它内置了密码恢复、帐户确认(如果需要)和其他一些非常方便的功能。 关于ruby-on-rails-在Rail

  6. ruby - 使用 Ruby 开发工具包将文件上传到 Amazon S3 - 2

    我正在尝试上传文件。一个简单的hello.txt。我正在关注文档,但无法将其上传到我的存储桶。#STARTAWSCLIENTs3=Aws::S3::Resource.newbucket=s3.bucket(BUCKET_NAME)begins3.buckets[BUCKET_NAME].objects[KEY].write(:file=>FILE_NAME)puts"Uploadingfile#{FILE_NAME}tobucket#{BUCKET_NAME}."bucket.objects.eachdo|obj|puts"#{obj.key}=>#{obj.etag}"endresc

  7. ruby-on-rails - 如何在 Rails 中添加禁用的提交按钮 - 2

    我在ruby​​表单中有一个提交按钮f.submitbtn_text,class:"btnbtn-onemgt12mgb12",id:"btn_id"我想在不使用任何javascript的情况下通过ruby​​禁用此按钮 最佳答案 添加disabled:true选项。f.submitbtn_text,class:"btnbtn-onemgt12mgb12",id:"btn_id",disabled:true 关于ruby-on-rails-如何在Rails中添加禁用的提交按钮,我们在St

  8. ruby - 如何保持我不常用的编程语言技能 - 2

    关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭11年前。Improvethisquestion我不经常使用ruby​​-通常它加起来相当于每两个月或更长时间编写一次脚本。我的大部分编程都是使用C++进行的,这与ruby​​有很大不同。由于我与ruby​​之间的差距如此之大,我总是忘记语言的基本方面(比如解析文本文件和其他简单的东西)。我想每天练习一些基本的东西,我想知道是否有一些我可以订阅的网站,并且会向我发送当天的Ruby问题或类似的东西。有人知道这样的站点/Internet服务吗?

  9. ruby-on-rails - Assets 管道损坏 : Not compiling on the fly css and js files - 2

    我开始了一个新的Rails3.2.5项目,Assets管道不再工作了。CSS和Javascript文件不再编译。这是尝试生成Assets时日志的输出:StartedGET"/assets/application.css?body=1"for127.0.0.1at2012-06-1623:59:11-0700Servedasset/application.css-200OK(0ms)[2012-06-1623:59:11]ERRORNoMethodError:undefinedmethod`each'fornil:NilClass/Users/greg/.rbenv/versions/1

  10. ruby-on-rails - Rails - 理解 application.js 和 application.css - 2

    rails新手。只是想了解\assests目录中的这两个文件。例如,application.js文件有如下行://=requirejquery//=requirejquery_ujs//=require_tree.我理解require_tree。只是将所有JS文件添加到当前目录中。根据上下文,我可以看出requirejquery添加了jQuery库。但是它从哪里得到这些jQuery库呢?我没有在我的Assets文件夹中看到任何jquery.js文件——或者直接在我的整个应用程序中没有看到任何jquery.js文件?同样,我正在按照一些说明安装TwitterBootstrap(http:

随机推荐