更新记录
1.0.0(2020-06-09) 下载此版本
JS常用工具函数整理
平台兼容性
JS常用工具函数
使用
下载当前tool.js压缩包
引入某个工具函数:import { 某个函数 } from "@/tool.js"; (需根据自己存放tool.js目录来引入)
举例-时间格式化函数:import { formatDate } from "@/tool.js";
使用-时间格式化(根据自己的项目情况来处理):
用当前时间举例 formatDate(new Date(),'Y-M-D h:m:s')
console.log(formatDate(new Date(),'Y-M-D h:m:s')); 结果:2020-02-02 00:00:00
介绍
JS常用工具函数-通用格式化时间、字符串验证-验证邮箱、手机号、电话号码、url地址、严格校验身份证号码,判断数据类型-是否是字符串、数字、Boolean、函数、对象、数组Array、null、undefined、时间对象Date、正则对象、错误对象、Symbol函数、Promise对象、Set对象,判断是否是引用类型,浮点数运算(解决计算机运算浮点数精度丢失问题),数组随机洗牌算法,随机整数范围,将阿拉伯数字翻译成中文的大写数字,将数字转换为大写金额,判断一个元素是否在数组中,数组删除其中一个元素,求数组中的最大值,求数组中的最小值,数组中的值求和,去除字符串中的空格(1-所有空格 2-前后空格 3-前空格 4-后空格),字符转换(1:首字母大写 2:首字母小写 3:大小写转换 4:全部大写 5:全部小写),检测密码强度 等级1-5,在字符串中插入新字符串,16进制颜色值转rgba颜色值字符串。
工具函数详细参数
1.通用格式化时间函数:formatDate
两个参数:formatDate(time, formats)
time:时间(类型:Date)
formats: 时间的格式化输出类型(类型:String)默认值:'Y-M-D'
1. 'Y-M-D'
2. 'Y-M-D h:m:s'
3. 'Y年M月D日'
4. 'Y年M月D日 h时m分'
5. 'Y年M月D日 h时m分s秒'
返回值类型:String
使用举例:
一.引入 import { formatDate } from "@/tool.js";
二.
console.log(formatDate(new Date(),'Y-M-D h:m:s')); 结果:2020-06-01 00:00:00
2.判断类型函数:checkStr
两个参数:checkStr(str, type)
str:需要判断的字符串(类型:String)
type:判断是否是某个类型(类型:String)
type传值说明:
'phone':手机号码
'tel':座机号
'card':身份证号码(只是简单验证,若需要严格验证,请使用文档中另一个函数:isCardID)
'pwd':密码以字母开头,长度在6~18之间,只能包含字母、数字和下划线的密码
'postal':邮政编码
'QQ':QQ号
'email':邮箱
'money':金额(小数点2位)
'URL':网址
'IP':IP
'date':日期时间
'number':数字
'english':英文
'chinese':中文
'lower':小写
'upper':大写
返回值类型:Boolean
举例:checkStr('12345678901','phone') 结果为 false
3.单独验证是否是邮箱:isEmail
一个参数:isEmail(str)
str:需要验证的字符串参数(类型:String)
返回值类型:Boolean
4.单独验证是否是手机号码:isMobile
一个参数:isMobile(str)
str:需要验证的字符串参数(类型:String)
返回值类型:Boolean
5.单独验证是否是座机号码:isPhone
一个参数:isPhone(str)
str:需要验证的字符串参数(类型:String)
返回值类型:Boolean
6.验证是否是url地址:isURL
一个参数:isURL(str)
str:需要验证的字符串参数(类型:String)
返回值类型:Boolean
//数据类型判断
7.验证是否是字符串类型:isString
一个参数:isString(obj)
obj:需要验证参数(类型:不定)
返回值类型:Boolean
//数据类型判断
8.验证是否是数字类型:isNumber
一个参数:isNumber(obj)
obj:需要验证参数(类型:不定)
返回值类型:Boolean
//数据类型判断
9.验证是否是Boolean类型:isBoolean
一个参数:isBoolean(obj)
obj:需要验证参数(类型:不定)
返回值类型:Boolean
//数据类型判断
10.验证是否是函数类型:isFunction
一个参数:isFunction(obj)
obj:需要验证参数(类型:不定)
返回值类型:Boolean
//数据类型判断
11.验证是否是null类型:isNull
一个参数:isNull(obj)
obj:需要验证参数(类型:不定)
返回值类型:Boolean
//数据类型判断
12.验证是否是undefined类型:isUndefined
一个参数:isUndefined(obj)
obj:需要验证参数(类型:不定)
返回值类型:Boolean
//数据类型判断
13.验证是否是对象类型:isObj
一个参数:isObj(obj)
obj:需要验证参数(类型:不定)
返回值类型:Boolean
//数据类型判断
14.验证是否是数组类型:isArray
一个参数:isArray(obj)
obj:需要验证参数(类型:不定)
返回值类型:Boolean
//数据类型判断
15.验证是否是时间对象类型:isDate
一个参数:isDate(obj)
obj:需要验证参数(类型:不定)
返回值类型:Boolean
//数据类型判断
16.验证是否是正则对象类型:isRegExp
一个参数:isRegExp(obj)
obj:需要验证参数(类型:不定)
返回值类型:Boolean
//数据类型判断
17.验证是否是错误对象类型:isError
一个参数:isError(obj)
obj:需要验证参数(类型:不定)
返回值类型:Boolean
//数据类型判断
18.验证是否是Symbol函数类型:isSymbol
一个参数:isSymbol(obj)
obj:需要验证参数(类型:不定)
返回值类型:Boolean
//数据类型判断
19.验证是否是Promise对象类型:isPromise
一个参数:isPromise(obj)
obj:需要验证参数(类型:不定)
返回值类型:Boolean
//数据类型判断
20.验证是否是Set对象类型:isSet
一个参数:isSet(obj)
obj:需要验证参数(类型:不定)
返回值类型:Boolean
//数据类型判断
21.判断数据是不是引用类型的数据:isObject
一个参数:isObject(obj)
obj:需要验证参数(类型:不定)
返回值类型:Boolean
22.字符串超出多少字显示为'***':strOut
三个参数:strOut(str, len,type)
str:需要处理的字符串参数(类型:String)
len:长度,字符串超过len个字时显示***号(类型:Number)
type:显示类型 传值2种:'star'或'point',非必传,默认值 'star'
返回值类型:String
举例:console.log(strOut('我是小明',2,'star'));结果为:我是***
console.log(strOut('我是小明',2,'point'));结果为:我是...
23.浮点数加法运算--解决精度丢失:FloatAdd
两个参数:FloatAdd(num1,num2)
num1:第一个数(类型:Number)
num2:第二个数(类型:Number)
返回值类型:Number 浮点数
24.浮点数乘法运算--解决精度丢失:FloatMul
两个参数:FloatMul(num1,num2)
num1:第一个数(类型:Number)
num2:第二个数(类型:Number)
返回值类型:Number 浮点数
25.随机数时间戳:uniqueId
无参数:uniqueId()
返回值类型:String 随机数时间戳字符串
26.数组随机洗牌算法(打乱数组):shuffle
一个参数:shuffle(arr)
arr:需要操作的数组(类型:Array)
返回值类型:Array 一个新数组
27.严格的身份证号码校验:isCardID
一个参数:isCardID(card)
card:需要验证的身份证号码字符串(类型:String)
返回值类型:Boolean
28.随机整数范围:random
两个参数:random(min,max)
min:随机范围最小值(类型:Number 整数)
max:随机范围最大值(类型:Number 整数)
返回值类型:Number 整数
29.将阿拉伯数字翻译成中文的大写数字:numberToChinese
一个参数:numberToChinese(num)
num:需要转换的数(类型:Number 正整数或正小数)
返回值类型:String
举例:console.log(numberToChinese(12340.4));结果为:一萬二仟三百四十点四
30.将数字转换为大写金额:changeToChinese
一个参数:changeToChinese(num)
num:需要转换的数(类型:Number 正整数或正小数)
返回值类型:String
举例:console.log(numberToChinese(123456789.89));结果为:壹亿贰仟叁佰肆拾伍万陆仟柒佰捌拾玖元捌角玖分
31.数组去重:unique
一个参数:unique(arr)
arr:需要去重的数组(类型:Array)
返回值类型:Array 去重后的新数组
32.数组删除其中一个元素:arrRemove
一个参数:arrRemove(arr)
arr:需要操作的数组(类型:Array)
返回值类型:Array
举例:
var arr=["a","b","c"];
arrRemove(arr,"b") 返回值为 ["a","c"];
33.求数组中的最大值:arrMax
一个参数:arrMax(arr)
arr:需要操作的数组(类型:Array)
返回值类型:Number 数字-数组中的最大值
举例:arrMax([1,2,4,9]) 结果为 9
34.求数组中的最小值:arrMin
一个参数:arrMin(arr)
arr:需要操作的数组(类型:Array)
返回值类型:Number 数字-数组中的最小值
举例:arrMin([1,2,4,9]) 结果为 1
35.数组中的值求和:arrSum
一个参数:arrSum(arr)
arr:需要操作的数组(类型:Array)
返回值类型:Number 数字-数组中各项之和
举例:arrSum([1,2,4]) 结果为 7
36.判断某一个元素是否在数组中:arrContains
一个参数:arrContains(arr,val)
arr:需要操作的数组(类型:Array)
val:需要判断的值
返回值类型:Boolean
37.字符串去空格:strTrim
一个参数:strTrim(str,type)
str:需要操作的字符串(类型:String)
type:取值范围:1-所有空格 2-前后空格 3-前空格 4-后空格(非必填,默认为2)
返回值类型:String
38.字符串转换:changeCase
一个参数:changeCase(str,type)
str:需要操作的字符串(类型:String)
type:取值范围:1:首字母大写 2:首字母小写 3:大小写转换 4:全部大写 5:全部小写(非必填,默认为4)
返回值类型:String
39.检测密码强度(等级1-5):checkPwd
一个参数:checkPwd(str)
str:需要检测的密码字符串(类型:String)
返回值类型:Number (1、2、3、4、5)
40.在字符串中插入新字符串:insertStr
一个参数:insertStr(soure, index, newStr)
soure:需要操作的原字符串(类型:String)
index:插入新字符串的位置(类型:Number)
newStr:需要插入的字符串(类型:String)
返回值类型:String 操作后的字符串
41. 16进制颜色值转rgba颜色值字符串:colorToRGB
一个参数:colorToRGB(val,opa)
val:需要转换的16进制颜色值(类型:String)
opa:颜色值透明度(类型:Number 取值范围0~1 包括0和1及 0至1之间的小数)
返回值类型:String, rgba颜色值字符串
举例:colorToRGB("#000000",0.5) 结果:rgba(0,0,0,0.5)