Skip to content

Releases: doly-dev/util-helpers

v4.12.5

23 Aug 14:16
Compare
Choose a tag to compare
  • refactor: 优化转换有效数值逻辑
  • chore: 添加测试覆盖率徽章

v4.12.4

23 Aug 03:46
Compare
Choose a tag to compare
  • chore: 删除多余方法

v4.12.3

23 Aug 03:45
Compare
Choose a tag to compare
  • refactor: 数学计算对有效数值重新定义,兼容性更好 ⚠️

有效数值

即能通过 Number(value) 转为数字,且不能为 NaN

以下为有效数值:

  1. 数字: 1 -1 1e-2 1.312 0.1 Infinity
  2. 字符串: '1' '10e2' '-1' '0.1' '' ' ' ' 15' ' 15 '
  3. 其他类型: null new Date() [] new Array() true false

以下为无效数值:

  1. 字符串: '1a' '-12a' '10.2.2' '10e2.1'
  2. 其他类型: undefined [] {} Symbol() function(){} ()=>{}

计算说明

  • 四则运算的第二个参数都是有默认值(乘数和除数默认1,加数和减数默认0)
plus(); // NaN  0个参数时,被加数转换为 Number(undefined) NaN ,NaN+0 = NaN 。其他计算方法如果没有参数一样返回 NaN 。
plus(0.1); // 0.1  第二个参数,加数默认为 0
plus(true, null); // 1  Number(true) 转换为 1 , Number(null) 转换为 0 , 1+0=1

plus(undefined, 0.1); // NaN  第一个参数被加数转换为 Number(undefined) NaN ,NaN+0 = NaN 。其他计算方法如果第一个参数为无效数值一样返回 NaN 。
  • 参数中包含无效数值,返回NaN
plus('0.1', ' a'); // NaN
plus(true, {}); // NaN
plus(true, 0.1, Symbol()); // NaN

注意:如果第二个及后面的参数如果值为 undefined 取默认值,即乘除数取 1 ,加减法取 0 。

plus(0.1, undefined); // 0.1  
plus(0.1, undefined, 0.2, undefined); // 0.3  后面的 undefined 取默认值 0
times(0.1, undefined, 0.2, undefined); // 0.02  后面的 undefined 取默认值 1

v4.12.2

04 Aug 02:43
Compare
Choose a tag to compare
  • refactor: 优化有效数值判断方法

v4.12.1

02 Aug 07:08
Compare
Choose a tag to compare
  • feat: 新增 version 属性标识当前版本

v4.12.0

02 Aug 06:12
Compare
Choose a tag to compare

重要更新

  • feat: 规范数学安全计算参数有效数值 ⚠️

以下内容已过时,4.12.3 重新定义有效数值
以下内容已过时,4.12.3 重新定义有效数值
以下内容已过时,4.12.3 重新定义有效数值

什么是有效数值

  • 数据类型必须是 numberstring
  • string 类型不能为空字符串、空白符字符串,而且可以使用 Number(value) 转为数字,且不能为 NaN
  • number 类型不能为 NaN

以下是有效数值:

  • 数字: 1, -1, 1e-2, 1.312, 0.1, Infinity
  • 字符串: '1', '10e2', '-1', '0.1'

以下是无效数值:

  • 非数字字符串: '', ' ', '1a', '-12a', '10.2.2', '10e2.1'
  • 其他类型值: undefined, null, true, false, [], {}, new Date(), ...

注意:Number('') Number(' ') Number(new Date) Number(true) 等虽然可以返回数字,但都不是有效数值。因为它们分别是空字符串、空格字符串和非数字或字符串类型。

v4.11.1

27 Jul 12:25
Compare
Choose a tag to compare
  • build: UMD 包支持 ES3

v4.11.0

20 Jul 03:10
Compare
Choose a tag to compare
  • feat: 重构 isChinese 方法,支持配置是否使用中文扩展字符集⚠️
  • refactor: 抽象打印警告信息方法
  • refactor: 优化科学计数法转数字,补充测试用例
  • refactor: 优化 numberToChinaese 逻辑,补充测试用例
  • refactor: 优化 validatePassword 逻辑,补充测试用例
  • refactor: 优化 replaceChar 逻辑,兼容非字符串输入,补充测试用例
  • refactor: 优化 parseIdCard 逻辑,补充测试用例
  • refactor: 优化 round 方法非法输入参数处理,补充测试用例
  • fix: 修复 isBusinessLicense 营业执照号校验位计算不准确问题
  • test: 梳理部分测试用例,添加coverage脚本

v4.10.3

06 Jul 06:24
Compare
Choose a tag to compare
  • refactor: isBusinessLicense isSocialCreditCode 宽松模式配置改为 checkCode 配置是否校验最后一位

v4.10.2

01 Jul 07:51
Compare
Choose a tag to compare
  • ⚠️refactor(istwcard): 优化台湾居民来往大陆通行证校验。默认不支持一次性通行证,可通过配置项支持。