c-tools-js
TypeScript icon, indicating that this package has built-in type declarations

2.1.5 • Public • Published

assets

苹方字体

c-tools-js/assets/font/apple

scss

c-tools-js/assets/scss/comm.scss 公共样式

c-tools-js/assets/scss/phone.scss 手机样式

css

c-tools-js/assets/css/comm.css 公共样式

c-tools-js/assets/css/phone.css 手机样式


echarts

chinajs 中国地图 解决文字重叠问题

import Vue from 'vue'
import * as echarts from 'echarts'
import 'c-tools-js/assets/echarts/map-chinajs'

Vue.prototype.$echarts = echarts


Color

/**
 * rgb 转 hex
 * @param {String} rgb 颜色 rgb(255,255,255)
 * @return hex
 */
RgbToHex

/**
 * hex 转 rgb 例如:'#23ff45'
 * @param {String} hex 颜色 
 * @param {Boolean} str 是否字符串, true为数组 
 * @return string
 */
HexToRgb

/**
 * 生成随机十六进制颜色
 * @return hex
 */
RandomHex

/**
 * 生成随机RGB颜色
 * @return string
 */
RandomRGB


/**
 * 求两个颜色之间的渐变值
 * @param {string} startColor 开始的颜色
 * @param {string} endColor 结束的颜色
 * @param {number} step 颜色等分的份额
 * */
ColorGradient

/**
 * JS颜色十六进制转换为rgb或rgba,返回的格式为 rgba(255,255,255,0.5)字符串
 * @param {String} color 十六进制的色值
 * @param {Number} alpha rgba的透明度,默认0.3
 */
ColorToRgba 

Cookie

/**
 * 获取cookie
 * @param {String} name cookie名
 */
GetCookie

/**
 * 清除全部Cookie
 */
ClearCookies

Date

/**
 * 查找日期位于一年中的第几天
 * @param {Date} date new Date()
 * dayOfYear(new Date())
 * Result: 272
 */
DayOfYear

Is

/**
 * 是否IE
 */
IsIE 

/**
 * 是否Edge
 */
IsEdge

/**
 * 是否火狐
 */
IsFirefox

/**
 * 对象是否相等
 * @param {Object} a 
 * @param {Object} b 
 * @returns {Boolean} 
 */
ObjectEquals

/**
 * 数组是否相等
 * @param {Array} arrayA 
 * @param {Array} arrayB 
 * @returns {Boolean} 
 */
ArrayEquals

/**
 * 数组/对象 是否相等
 * @param {Array | Object} value1 
 * @param {Array | Object} value2 
 * @returns {Boolean} 
 */
IsEqual

/**
 * 是否为空
 * @param {String} val 
 * @returns {Boolean} 
 */
isEmpty 

Number

/**
 * Comma用于分割数字,默认为3位分割,一般用于格式化金额
 * @param {Number} source 数字
 * @param {Int} length 分割位, 默认为3位
 * Comma(21342132) // 21,342,132
 * Comma(21342132, 4) // 2134,2132
 * Comma(21342132.234) // 21,342,132.234
 */
Comma

/**
 * Pad用于按照位数补0
 * @param {Number} source 数字
 * @param {Int} length 补充位, 默认为2位
 * Pad(1) // 01
 * Pad(234, 4) // 0234
 */
Pad 

/**
 * Random用于生成两个整数范围内的随机整数
 * @param {Int} min 最小
 * @param {Int} max 最大
 */
Random

Object

/**
 * 检查是否对象数组
 * @param {Array|Object} data 
 * @return Boolean
 */
IsArrayObject

/**
 * 检查是否对象
 * @param {Array|Object} data 
 * @return Boolean
 */
IsObject

/**
 * 检查是否函数
 * @param {Array|Object} data 
 * @return Boolean
 */
IsFunction

/**
 * 检查是否数组
 * @param {Array|Object} data 
 * @return Boolean
 */
IsArray

/**
 * 检查是否字符串
 * @param {Array|Object} data 
 * @return Boolean
 */
IsString

/**
 * 拷贝
 * @param {Array | Object} obj 
 * @returns obj
 */
Clone

/**
 * 使用递归的方式实现数组、对象的深拷贝
 * @param {Array | Object} obj 
 * @returns obj
 */
DeepClone

/**
 * JS对象深度合并
 * @param {Object} target 当前对象
 * @param {Object} source 合并对象
 * @returns obj
 */
DeepMerge

/**
 * 删除空的参数(常用于post请求)
 * @param {*} obj 
 * @return obj
 */
DeleteNullObj 

Random

/**
 * 打乱数组
 * @param {Array} arr 数组
 * shuffleArray([1, 2, 3, 4])
 * Result: [ 1, 4, 3, 2 ]
 */
ShuffleArray

RegExp

/**
 * 验证手机号码
 * @param {Number, String} str
 */
RegExpChinaMobile

/**
 * 火车车次
 * @param {Number, String} str
 * 例如: G1868, D102, D9, Z5, Z24, Z17
 */
RegExpTrainNumber

/**
 * 身份证号, 支持1/2代(15位/18位数字)
 * 例如: 622223199912051311, 12345619991205131x, 123456991010193
 */
RegExpIDCard

/**
 * 香港身份证
 * @param {Number, String} str
 * 例如: K034169(1)
 */
RegExpHKIDCard

/**
 * 澳门身份证
 * 例如: 5686611(1)
 */
RegExpMacaoIDCard

/**
 * 台湾身份证
 * 例如: U193683453
 */
RegExpTaiwanIDCard 

/**
 * 护照(包含香港、澳门)
 * 例如: s28233515, 141234567, 159203084, MA1234567, K25345719
 */
RegExpPassport

/**
 * 邮政编码(中国)
 * 例如: 734500, 100101
 */
RegExpPostalCode 

/**
 * 密码强度校验,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
 * 例如: Kd@curry666
 */
RegExpPassword

/**
 * 用户名校验,4到16位(字母,数字,下划线,减号)
 * 例如: xiaohua_qq
 */
RegExpUserName

/**
 * 必须带端口号的网址(或ip)
 * 例如: https://www.qq.com:8080, 127.0.0.1:5050, baidu.com:8001, http://192.168.1.1:9090 , 反例: 192.168.1.1, https://www.jd.com
 */
RegExpAddressOrIp

/**
 * 网址(url,支持端口和"?+参数"和"#+参数)
 * 例如: www.qq.com, https://baidu.com, 360.com:8080/vue/#/a=1&b=2
 */
RegExpAddress

/**
 * 统一社会信用代码
 * 例如: 91230184MA1BUFLT44, 92371000MA3MXH0E3W
 */
RegExpSocialCredit

/**
 * 视频(video)链接地址
 * 例如: http://www.abc.com/video/wc.avi
 * 格式:swf|avi|flv|mpg|rm|mov|wav|asf|3gp|mkv|rmvb|mp4
 */
RegExpVideo

/**
 * 图片(image)链接地址
 * 例如: https://www.abc.com/logo.png
 * 格式:gif|png|jpg|jpeg|webp|svg|psd|bmp|tif
 */
RegExpImage

/**
 * 数字/货币金额(支持负数、千分位分隔符)
 * 例如: 100, -0.99, 3, 234.32, -1, 900, 235.09, 12,345,678.90
 */
RegExpCurrency

/**
 * 邮箱
 * 例如: 90203918@qq.com, nbilly@126.com, 汉字@qq.com
 */
RegExpEmail

/**
 * ip-v4[:端口]
 * 例如: 172.16.0.0, 172.16.0.0:8080, 127.0.0.0, 127.0.0.0:998
 */
RegExpIPv4 

/**
 * ip-v6[:端口]
 * 例如: 2031:0000:130f:0000:0000:09c0:876a:130b, [2031:0000:130f:0000:0000:09c0:876a:130b]:8080
 */
RegExpIPv6

String

/**
 * 英文字符串首字母大写
 * @param {String} str 英文字符串
 * @return str
 */
Capitalize

/**
 * 去除空格
 * @param {String} string 字符串
 * @param {String} pos 可选(both:两端, left:左端, right:右端, all:全部)
 * @return str
 */
Trim

/**
 * json对象转url参数: {aaa: 1} => a=1
 * @param {*} obj 转化对象
 * @param {*} encode 是否需要encode
 * @return str
 */
Query2String

/**
 * url参数转json对象: a=1 => {aaa: 1}
 * @param {*} str 转化字符串
 * @param {*} decode 是否需要decode
 * @return obj
 */
String2Query

/**
 * 以json的格式获取当前url上的参:
 * http://www.taobao.com?a=1 => {a: 1}
 * @return obj
 */
GetLocationQuery

/**
 * 本算法来源于简书开源代码,详见:https://www.jianshu.com/p/fdbf293d0a85
 * 全局唯一标识符(uuid,Globally Unique Identifier),也称作 uuid(Universally Unique IDentifier) 
 * 一般用于多个组件之间,给它一个唯一的标识符,或者v-for循环的时候,如果使用数组的index可能会导致更新列表出现问题
 * 最可能的情况是左滑删除item或者对某条信息流"不喜欢"并去掉它的时候,会导致组件内的数据可能出现错乱
 * v-for的时候,推荐使用后端返回的id而不是循环的index
 * @param {Number} len uuid的长度
 * @param {Boolean} firstU 将返回的首字母置为"u"
 * @param {Nubmer} radix 生成uuid的基数(意味着返回的字符串都是这个基数),2-二进制,8-八进制,10-十进制,16-十六进制
 */
Guid

Timer

/**
 * 防抖原理:一定时间内,只有最后一次操作,再过wait毫秒后才执行函数
 * @param {Function} func 要执行的回调函数 
 * @param {Number} wait 延时的时间
 * @param {Boolean} immediate 是否立即执行 
 * @return null
 */
Debounce


/**
 * 节流原理:在一定时间内,只能触发一次
 * @param {Function} func 要执行的回调函数 
 * @param {Number} wait 延时的时间
 * @param {Boolean} immediate 是否立即执行
 * @return null
 */
Throttle

Tree

/**
 * 递归 -> children 数组小于1 设置为 undefined
 * @param {Array} data 递归数组
 * @param {String} children 递归字段键
 * @returns data
 */
SetTreeChildrenBlankToUndefined

/**
 * 递归修改键
 * @param {Array} data 递归数组
 * @param {Array} changeKey 递归修改名 [{ from: val, to: val }, { from: val, to: val }]
 * @param {Array} children 递归数组名
 * @returns data
 */
ChangeTreeDataName 

/**
 * 递归排序
 * @param {Array} data 递归数组
 * @param {String} children 递归字段键
 * @param {String} sort 排序字段键
 * @returns data
 */
SortTreeData

/**
 * 根据子级id递归寻找所有父级
 * @param {array} list 寻找数组
 * @param {id} id id
 * @param {string} checkId 递归id字段名 默认id
 * @param {string} checkChildren 递归children字段名 默认children
 */
FindTreeParentId

/**
 * 根据数组遍历所有id
 * @param {array} list 寻找数组
 * @param {string} checkId 需要遍历的字段
 * @param {string} checkChildren 需要遍历的children键
 */
FindTreeAllId 

Readme

Keywords

none

Package Sidebar

Install

npm i c-tools-js

Weekly Downloads

62

Version

2.1.5

License

ISC

Unpacked Size

131 MB

Total Files

42

Last publish

Collaborators

  • zscz