# lutils
**Repository Path**: qwdingyu/lutils
## Basic Information
- **Project Name**: lutils
- **Description**: 前端代码片段收集工具库
- **Primary Language**: JavaScript
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 22
- **Created**: 2019-12-05
- **Last Updated**: 2022-05-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# lutils
> 此工具包是在 [outils](https://github.com/proYang/outils/blob/master/README.md) 的基础上,加上个人平时收集的代码片段进行的二次整合
> outils的GitHub:https://github.com/proYang/outils/blob/master/README.md
## 使用
直接下载`min`目录下的[lutils.min.js](./min/lutils.min.js)或[lutils.full.min.js](./min/lutils.full.min.js)
推荐根据自己的的实际需求,自行进行打包
可通过 `Object.keys(lutils)` 查看内置封装函数
### 浏览器使用示例:
``` html
```
## 函数
### Cookie
- #### [getCookie](./src/cookie/getCookie.js) 根据name读取Cookie
- #### [removeCookie](./src/cookie/removeCookie.js) 根据name删除Cookie
- #### [setCookie](./src/cookie/setCookie.js) 添加Cookie
### Json (包含Object与Array)
- #### [array2Tree](./src/json/array2Tree.js) 数组转为树状格式数组
- #### [deepClone](./src/json/deepClone.js) 深拷贝,支持常见类型
- #### [isEmpty](./src/json/isEmpty.js) 判断对象或数组是否为空
- #### [copy](./src/json/copy.js) 一般拷贝,浅拷贝
- #### [arrayEqual](./src/json/arrayEqual.js) 判断数组是否相等
- #### [countArray](./src/json/countArray.js) 判断数组项在数组中出现的次数
- #### [reverse](./src/json/reverse.js) Object数据翻转 key value翻转 或 数组翻转
- #### [optionArr2Obj](./src/json/optionArr2Obj.js) 例如:[{value: '选项1',label: '黄金糕'},...] 转 {'黄金糕':'选项1',...}
- #### [obj2OptionArr](./src/json/obj2OptionArr.js) 例如:{'黄金糕':'选项1',...} 转[{value: '选项1',label: '黄金糕'},...]
- #### [initRangeArray](./src/json/initRangeArray.js) 生成指定范围的整数数组
- #### [arrFind](./src/json/arrFind.js) 数组查找出想要对对象或数组
- #### [objFields](./src/json/objFields.js) 过滤出字段组成新对象
### Str (String)
- #### [replaceAll](./src/str/replaceAll.js) 替换所有
- #### [digitUppercase](./src/str/digitUppercase.js) 现金额转大写
- #### [rtrim](./src/str/rtrim.js) 去除字符串前后空格
- #### [ltrim](./src/str/ltrim.js) 去除左空格
- #### [trim](./src/str/trim.js) 去除右空格
- #### [reverse](./src/str/reverse.js) 字符串倒转
- #### [ucfirst](./src/str/ucfirst.js) 英文字符串首字母大写
### Support
- #### [webP](./src/support/index.js) 判断浏览器是否支持webP格式图片
- #### [webP2](./src/support/index.js) 判断浏览器是否支持webP格式图片
### Keycode
- #### [getName](./src/keycode/index.js) 根据keycode获得键名
### File
- #### [toBlobURL](./src/file/toBlobURL.js) 文件转BlobURL
- #### [toDataURL](./src/file/toDataURL.js) 文件转DataURL
- #### [base64UrlToBlob](./src/file/base64UrlToBlob.js) base64转Blob 或 ArrayBuffer
- #### [downloadByUrl](./src/file/downloadByUrl.js) 通过url下载文件
- #### [bytesToSize](./src/file/bytesToSize.js) 计算文件大小
- #### [base64UrlToFile](./src/file/base64UrlToFile.js) base64转File
### Num (Number)
- #### [accAdd](./src/num/index.js) 精确的加法计算
- #### [accSub](./src/num/index.js) 精确的减法计算
- #### [accMul](./src/num/index.js) 精确的乘法计算
- #### [accDiv](./src/num/index.js) 精确的除法计算
### Date (日期时间处理推荐结合[moment.js](http://momentjs.cn/)使用)
- #### [string2date](./src/date/string2date.js) 字符串时间转为Js Date类型
- #### [formatPassTime](./src/date/formatPassTime.js) 格式化${startTime}距现在的已过时间
- #### [formatRemainTime](./src/date/formatRemainTime.js) 格式化现在距${endTime}的剩余时间
- #### [isSameDay](./src/date/isSameDay.js) 判断是否为同一天
- #### [getTimeStamp](./src/date/getTimeStamp.js) 时间戳
### Validate
- #### [messages](./src/validate.js) 默认验证提示
- #### [required](./src/validate.js) 非空验证
- #### [email](./src/validate.js) 邮箱验证
- #### [url](./src/validate.js) url验证
- #### [date](./src/validate.js) 时间验证
- #### [dateISO](./src/validate.js) 时间验证,例如:2009-06-23,1998/01/22 只验证格式
- #### [number](./src/validate.js) 数字验证
- #### [digits](./src/validate.js) 数字验证
- #### [isarr](./src/validate.js) 是否是数组
- #### [minlength](./src/validate.js) 最小长度验证
- #### [maxlength](./src/validate.js) 最大长度验证
- #### [rangelength](./src/validate.js) 长度范围验证
- #### [min](./src/validate.js) 最小值验证
- #### [max](./src/validate.js) 最大值验证
- #### [range](./src/validate.js) 值范围验证
- #### [equalTo](./src/validate.js) 类型与值是否相等
- #### [mphone](./src/validate.js) 手机号验证
- #### [tphone](./src/validate.js) 动画号验证
- #### [idCard](./src/validate.js) 身份证验证
- #### [postal](./src/validate.js) 邮编验证
### Url
- #### [getQueryObject](./src/url/getQueryObject.js) 将url参数获取为对象
- #### [stringfyQueryString](./src/url/stringfyQueryString.js) 对象序列化为url参数
- #### [getQueryString](./src/url/getQueryString.js) 根据name获取url参数值
### Fun (Function)
- #### [throttle](./src/fun/throttle.js) 函数节流
- #### [debounce](./src/fun/debounce.js) 函数防抖
### Random
- #### [randomColor](./src/random/index.js) 随机生成颜色
- #### [randomNum](./src/random/index.js) 生成指定范围随机数
- #### [randomChars](./src/random/index.js) 生成随机字符串([A~Z],[a~z],[0~9])
- #### [randomSort](./src/random/index.js) 打乱数组内部顺序
- #### [UUID](./src/random/index.js) 生成UUID
### Dom
- #### [addClass](./src/dom/addClass.js) 为元素添加class
- #### [getScrollTop](./src/dom/getScrollTop.js) 获取滚动条距顶部的距离
- #### [hasClass](./src/dom/hasClass.js) 判断元素是否有某个class
- #### [offset](./src/dom/offset.js) 获取一个元素的距离文档(document)的位置,类似jQ中的offset()
- #### [removeClass](./src/dom/removeClass.js) 为元素移除class
- #### [scrollTo](./src/dom/scrollTo.js) 在${duration}时间内,滚动条平滑滚动到${to}指定位置
- #### [setScrollTop](./src/dom/setScrollTop.js) 设置滚动条距顶部的距离
- #### [windowResize](./src/dom/windowResize.js) H5软键盘缩回、弹起回调
- #### [append](./src/dom/append.js) 追加html类似jQ中的html()
- #### [fullScreen](./src/dom/fullscreen.js) 进入全屏模式
- #### [exitFullScreen](./src/dom/exitfullscreen.js) 退出全屏模式
### Xml
- #### [json2xml](./src/xml/json2xml.js) json转xml文本
- #### [xml2json](./src/xml/xml2json.js) xml(Element)转json
- #### [parseXml](./src/xml/parseXml.js) 字符串转xml(Element)
### Device
- #### [getExplore](./src/device/getExplore.js) 获取浏览器类型和版本号
- #### [getOS](./src/device/getOS.js) 获取操作系统类型
- #### [isWeixin](./src/device/isWeixin.js) 获取是微信浏览器
### [Mime](./src/mime.js)
- #### 描述消息内容类型
### [Clipboard](./src/clipboard.js)
- #### 剪切板