本文总结了 JavaScript 中的一些实用的工具函数,这些工具函数,可分为数字操作、数组操作、字符串操作、时间操作、格式校验、设备判断、浏览器相关等 12 大类。通过整理这些常用函数,希望能帮助你在日常开发过程中,提高开发效率,为老板创造更多价值,早点下班!😄
1、数字操作
1.1 生成指定范围随机数
1 | export const randomNum = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min; |
1.2 数字添加千分位分隔
1 | export const format = (n) => { |
2、数组操作
2.1 数组乱序
1 | export const arrScrambling = (arr) => { |
2.2 数组扁平化
1 | export const flatten = (arr) => { |
1.3 数组中获取随机数
1 | export const sample = arr => arr[Math.floor(Math.random() * arr.length)]; |
3、字符串操作
3.1 生成随机字符串
1 | export const randomString = (len) => { |
3.2 字符串首字母大写
1 | export const fistLetterUpper = (str) => { |
3.3 手机号中间四位替换为 *
1 | export const telFormat = (tel) => { |
3.4 驼峰命名转换成短横线命名
1 | export const getKebabCase = (str) => { |
3.5 短横线命名转换成驼峰命名
1 | export const getCamelCase = (str) => { |
3.6 全角转换为半角
1 | export const toCDB = (str) => { |
3.7 半角转换为全角
1 | export const toDBC = (str) => { |
提示:可使用全角转半角工具进行在线转换。
4、格式转化
4.1 数字转化为大写金额
1 | export const digitUppercase = (n) => { |
提示:此处提供的人民币大写转换工具可在线把数字转换称大写金额。
4.2 数字转化为中文数字
1 | export const intToChinese = (value) => { |
5、存储操作
5.1 存储 loalStorage
1 | export const loalStorageSet = (key, value) => { |
5.2 获取 localStorage
1 | export const loalStorageGet = (key) => { |
5.3 删除localStorage
1 | export const loalStorageRemove = (key) => { |
5.4 存储 sessionStorage
1 | export const sessionStorageSet = (key, value) => { |
5.5 获取 sessionStorage
1 | export const sessionStorageGet = (key) => { |
5.6 删除 sessionStorage
1 | export const sessionStorageRemove = (key) => { |
6、操作 cookie
6.1 设置 cookie
1 | export const setCookie = (key, value, expire) => { |
6.2 读取 cookie
1 | export const getCookie = (key) => { |
6.3 删除 cookie
1 | export const delCookie = (key) => { |
7、格式校验
7.1 校验身份证号码
1 | export const checkCardNo = (value) => { |
7.2 校验是否包含中文
1 | export const haveCNChars => (value) => { |
7.3 校验是否为中国大陆的邮政编码
1 | export const isPostCode = (value) => { |
7.4 校验是否为 IPv6 地址
1 | export const isIPv6 = (str) => { |
7.5 校验是否为邮箱地址
1 | export const isEmail = (value) { |
7.6 校验是否为中国大陆手机号
1 | export const isChineseTel = (value) => { |
7.7 校验是否包含 emoji 表情
1 | export const isEmojiCharacter = (value) => { |
提示:这里提供了emoji表情大全,包含上千个 Emoji 表情符号。
8、URL 操作
8.1 获取 URL 参数列表
1 | export const GetRequest = () => { |
8.2 检测 URL 是否有效
1 | export const getUrlState = (URL) => { |
8.3 键值对转换成 URL 参数
1 | export const params2Url = (obj) => { |
8.4 修改 URL 中的参数
1 | export const replaceParamVal => (paramName, replaceWith) { |
8.5 删除 URL 中指定参数
1 | export const funcUrlDel = (name) => { |
9、设备判断
提示:如需查看当前设备参数,可以使用设备特征检测工具。
9.1 判断是移动还是 PC 设备
1 | export const isMobile = () => { |
9.2 判断是否是苹果还是安卓移动设备
1 | export const isAppleMobileDevice = () => { |
9.3 判断是否是安卓移动设备
1 | export const isAndroidMobileDevice = () => { |
9.4 判断是 Windows 还是 Mac 系统
1 | export const osType = () => { |
9.5 判断是否是微信或QQ内置浏览器
1 | export const broswer = () => { |
9.6 浏览器型号和版本
1 | export const getExplorerInfo = () => { |
10、浏览器操作
10.1 滚动到页面顶部
1 | export const scrollToTop = () => { |
10.2 滚动到页面底部
1 | export const scrollToBottom = () => { |
10.3 滚动到指定元素区域
1 | export const smoothScroll = (element) => { |
10.4 获取可视窗口高度
1 | export const getClientHeight = () => { |
10.5 获取可视窗口宽度
1 | export const getPageViewWidth = () => { |
10.6 打开浏览器全屏
1 | export const toFullScreen = () => { |
10.7 退出浏览器全屏
1 | export const exitFullscreen = () => { |
11、时间操作
11.1 获取当前时间
1 | export const nowTime = () => { |
11.2 格式化时间
1 | export const dateFormater = (formater, time) => { |
12、JavaScript 语言相关
12.1 阻止冒泡事件
1 | export const stopPropagation = (e) => { |
12.2 防抖函数
1 | export const debounce = (fn, wait) => { |
12.3 节流函数
1 | export const throttle = (fn, delay) => { |
12.4 数据类型判断
1 | export const getType = (value) => { |
12.5 对象深拷贝
1 | export const deepClone = (obj, hash = new WeakMap()) => { |
全文完,希望对你编写 JS 带来一定的帮助。