js-util-libs
Advanced tools
| describe("公共", () => { | ||
| it("公共函数", () => { | ||
| const { telFormat } = require("../index"); | ||
| // 手机号中间四位变成* | ||
| expect(telFormat(17791430699)).toBe('177****0699'); | ||
| }); | ||
| }); |
| // 手机号中间四位变成* | ||
| exports.telFormat = (tel) => { | ||
| tel = String(tel); | ||
| return tel.substr(0,3) + "****" + tel.substr(7); | ||
| }; |
| describe("数字转为大写金额", () => { | ||
| it("测试digitUppercase方法", () => { | ||
| const { digitUppercase } = require("../index"); | ||
| expect(digitUppercase(10529520)).toBe('壹仟零伍拾贰万玖仟伍佰贰拾元整'); | ||
| }); | ||
| }); |
| // 数字转为大写金额 | ||
| exports.digitUppercase = (n) => { | ||
| const fraction = ['角', '分']; | ||
| const digit = [ | ||
| '零', '壹', '贰', '叁', '肆', | ||
| '伍', '陆', '柒', '捌', '玖' | ||
| ]; | ||
| const unit = [ | ||
| ['元', '万', '亿'], | ||
| ['', '拾', '佰', '仟'] | ||
| ]; | ||
| n = Math.abs(n); | ||
| let s = ''; | ||
| for (let i = 0; i < fraction.length; i++) { | ||
| s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, ''); | ||
| } | ||
| s = s || '整'; | ||
| n = Math.floor(n); | ||
| for (let i = 0; i < unit[0].length && n > 0; i++) { | ||
| let p = ''; | ||
| for (let j = 0; j < unit[1].length && n > 0; j++) { | ||
| p = digit[n % 10] + unit[1][j] + p; | ||
| n = Math.floor(n / 10); | ||
| } | ||
| s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s; | ||
| } | ||
| return s.replace(/(零.)*零元/, '元') | ||
| .replace(/(零.)+/g, '零') | ||
| .replace(/^整$/, '零元整'); | ||
| }; |
| ## 深拷贝 递归的完整版本 | ||
+11
-4
@@ -29,4 +29,4 @@ // 防抖节流 | ||
| // 原生实现鼠标滚动动画缓冲 | ||
| export { scrollAnimation, scrollToTop } | ||
| // 原生实现鼠标滚动动画缓冲 滚动到底部 滚动到底部 | ||
| export { scrollAnimation, scrollToTop ,scrollToBottom} | ||
| from "./src/scrollAnimation/index.js"; | ||
@@ -66,3 +66,3 @@ | ||
| // 邮箱 手机号 URL 微信号 qq号 车牌号 密码强度校验 是否含中文 邮编号 16进制颜色 身份证号 ipv4 数字 对象 空对象 数组 基本数据类型 银行卡号码校验(luhn算法) | ||
| // 邮箱 手机号 URL 微信号 qq号 车牌号 密码强度校验 是否含中文 邮编号 16进制颜色 身份证号 ipv4 数字 对象 空对象 数组 基本数据类型 银行卡号码校验(luhn算法) 验证版本号格式必须为X.Y.Z | ||
| export { | ||
@@ -87,2 +87,4 @@ isEmail, | ||
| isType, | ||
| isVersion, | ||
| isPassport | ||
| } | ||
@@ -144,3 +146,8 @@ from "./src/check/index.js"; | ||
| // 1、指定范围随机数 2、随机长度字符串 3、数组随机数 | ||
| export { randomString, randomRange, randomNum } from "./src/random/index.js" | ||
| export { randomString, randomRange, randomNum } from "./src/random/index.js" | ||
| // 数字转为大写金额 | ||
| export { digitUppercase } from "./src/digitUppercase/index.js" | ||
| // 手机号中间四位变* | ||
| export { telFormat } from "./src/common/index.js" |
+7
-2
| { | ||
| "name": "js-util-libs", | ||
| "description": "js常见的函数工具库", | ||
| "version": "1.2.2", | ||
| "version": "1.2.3", | ||
| "author": "fuzhaoyang <932647051@qq.com>", | ||
@@ -82,5 +82,10 @@ "license": "MIT", | ||
| "randomRange", | ||
| "randomNum" | ||
| "randomNum", | ||
| "digitUppercase", | ||
| "telFormat", | ||
| "scrollToBottom", | ||
| "isVersion", | ||
| "isPassport" | ||
| ], | ||
| "homepage": "https://github.com/fuzhaoyang/js-util-libs.git" | ||
| } |
+23
-13
@@ -37,12 +37,16 @@ # js-util-libs(函数库) | ||
| 14、文件大小格式化 (B,KB,MB,GB) | ||
| 14、数字转为大写金额 (壹仟零伍拾贰万玖仟伍佰贰拾元整) | ||
| 15、动态加载外部样式文件 | ||
| 15、文件大小格式化 (B,KB,MB,GB) | ||
| 16、异步加载外部多个js(动态插入) | ||
| 16、动态加载外部样式文件 | ||
| 17、获取地址栏url参数 | ||
| 17、异步加载外部多个js(动态插入) | ||
| 18、滚动条滚动 | ||
| 18、获取地址栏url参数 | ||
| 19、手机号中间四位变成* (177****698) | ||
| 20、滚动条滚动 | ||
| 1.动画缓冲(scrollAnimation) | ||
@@ -52,4 +56,6 @@ | ||
| 19、时间戳转格式 | ||
| 3.滚动页面到底部(scrollToBottom) | ||
| 21、时间戳转格式 | ||
| 1:YYYY-MM-DD HH:MM:SS | ||
@@ -61,3 +67,3 @@ | ||
| 20、随机数 | ||
| 22、随机数 | ||
@@ -70,3 +76,3 @@ 1:指定长度随机字符串 | ||
| 21、6种排序方式 | ||
| 23、6种排序方式 | ||
@@ -85,3 +91,3 @@ 1:冒泡排序 | ||
| 22、数组 | ||
| 24、数组 | ||
@@ -94,3 +100,3 @@ 1.扁平数据结构转Tree | ||
| 23、Base64 | ||
| 25、Base64 | ||
@@ -101,3 +107,3 @@ 1.加密 | ||
| 24、UTF-8 | ||
| 26、UTF-8 | ||
@@ -108,3 +114,3 @@ 1.加密 | ||
| 25、cookie | ||
| 27、cookie | ||
@@ -117,3 +123,3 @@ 1.设置 | ||
| 26、常用校验 | ||
| 28、常用校验 | ||
@@ -156,2 +162,6 @@ 1.邮箱校验 | ||
| 19.验证版本号格式必须为X.Y.Z | ||
| 20.验证护照(包含香港、澳门) | ||
| ## 欢迎大家提 PR 扩充函数库,为开源社区贡献自己一份力 | ||
@@ -158,0 +168,0 @@ |
@@ -18,3 +18,4 @@ describe("常用校验方法", () => { | ||
| isEmptyObject, | ||
| bankCardCheck | ||
| bankCardCheck, | ||
| isVersion | ||
| } = require("../index"); | ||
@@ -81,3 +82,7 @@ // 邮箱测试 | ||
| expect(bankCardCheck(6011329933655299)).toBe(false); | ||
| // 验证版本号格式必须为X.Y.Z | ||
| expect(isVersion('1.1.0')).toBe(true); | ||
| expect(isVersion('12.52.522.522')).toBe(false); | ||
| }); | ||
| }); |
+10
-1
@@ -114,2 +114,11 @@ // 是否邮箱 | ||
| return sum % 10 === 0; | ||
| }; | ||
| }; | ||
| // 验证版本号格式必须为X.Y.Z | ||
| /** | ||
| * @param { string } value | ||
| */ | ||
| exports.isVersion = value => /^\d+(?:\.\d+){2}$/g.test(value); | ||
| // 验证护照(包含香港、澳门) | ||
| exports.isPassport = value => /(^[EeKkGgDdSsPpHh]\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\d{7}$)/g.test(value); |
@@ -30,2 +30,7 @@ // 匹配字符串中所有图片src | ||
| } | ||
| }; | ||
| }; | ||
| // 滚动到页面底部 | ||
| exports.scrollToBottom = () => { | ||
| window.scrollTo(0, document.documentElement.clientHeight); | ||
| } |
59313
5.13%81
6.58%1503
4.67%180
5.88%