@youngbeen/angle-util
    TypeScript icon, indicating that this package has built-in type declarations

    1.3.16 • Public • Published

    @youngbeen/angle-util

    [TOC]

    validator

    引用

    import { validator } from '@youngbeen/angle-util'
    

    是否为空白无效字符串(剔除无效的空格之后) isBlankStr

    是否为数字 isNumber

    是否包含数字 hasNumber

    是否为小数 isFloatNum

    是否为小写英文字母 isLowercase

    是否包含小写英文字母 hasLowercase

    是否为大写英文字母 isUppercase

    是否包含大写英文字母 hasUppercase

    是否为英文或者数字 isNumbersOrLetters

    是否为中文字符 isCnCharacter

    是否包含中文字符 hasCnCharacter

    是否为特殊字符 isSpecialCharacter

    是否包含特殊字符 hasSpecialCharacter

    是否长度处于 isLengthBetween

    是否是名称(只能是中英文) isName

    是否是昵称名称(只能是中英文或者数字) isNickName

    是否是公司名称(只能是中英文和括号以及部分特殊符号) isCompany

    是否是金额(最多2位小数) isAmount

    是否是重量(最多3位小数) isWeight

    是否是手机号码 isMobileNo

    是否是固定电话(区号-号码 格式) isTelephoneNo

    是否是传真(仅限数字和-) isFax

    是否是微信号(2-20的长度,只能包含英文字母、数字、减号、下划线) isWechatNo

    是否是网址 isUrl

    是否是银行卡号(限定16-19位) isCardNo

    是否是身份证号 isIdCardNo

    是否是email地址 isEmailAddress

    是否是登录账户(只能包含字母/数字或下划线,且以字母开头) isLoginName

    validator.isBlankStr('') // true
    validator.isBlankStr('a') // false
    validator.isNumber('ab') // false
    validator.isNumber('123') // true
    validator.hasNumber('123abc') // true
    validator.isFloatNum('123.2') // true
    validator.isLowercase('abc') // true
    validator.hasLowercase('abcDEF') // true
    validator.isUppercase('ABC') // true
    validator.hasUppercase('abcDEF') // true
    validator.isNumbersOrLetters('ABC12') // true
    validator.isCnCharacter('ABC') // false
    validator.hasCnCharacter('abcDEF我') // true
    validator.isSpecialCharacter('ABC') // false
    validator.hasSpecialCharacter('abcDEF我') // false
    validator.isLengthBetween('ABC12', 2, 5) // true
    validator.isName('张三') // true
    validator.isNickName('张三12') // true
    validator.isCompany('银联商务') // true
    validator.isAmount('12.23') // true
    validator.isWeight('12.233') // true
    validator.isMobileNo('12233334444') // true
    validator.isTelephoneNo('027-88483843') // true
    validator.isFax('027-88483843') // true
    validator.isWechatNo('Youngbeen') // true
    validator.isUrl('https://www.abc.com') // true
    validator.isCardNo('6273772873772837') // true
    validator.isIdCardNo('420222190001019992') // true
    validator.isEmailAddress('abc@some.com') // true
    validator.isLoginName('abcawef') // true
    

    是否是指定长度的数字 isNumberAtLength

    validator.isNumberAtLength(string, length)

    • string参数必须,代表需要校验的字符串
    • length参数必须,代表需要校验的位数
    validator.isNumberAtLength('123', 3) // true
    

    anonymizer

    引用

    import { anonymizer } from '@youngbeen/angle-util'
    

    隐私化手机号 fixMobileNo

    隐私化电话号码 fixTelNo

    隐私化银行卡号 fixCardNo

    隐私化身份证号 fixCertNo

    隐私化姓名 fixName

    anonymizer.fixMobileNo('12311112222') // '123****2222'
    anonymizer.fixTelNo('02711112222') // '027****2222'
    anonymizer.fixCardNo('6222111122223333') // '622*********3333'
    anonymizer.fixCertNo('420000111122223333') // '420000111****23333'
    anonymizer.fixName('张三') // '张*'
    anonymizer.fixName('张三丰') // '张*丰'
    anonymizer.fixName('西门吹雪') // '西**雪'
    anonymizer.fixName('张三', true) // '*三'
    anonymizer.fixName('张三丰', true) // '*三丰'
    

    deviceUtil

    引用

    import { deviceUtil } from '@youngbeen/angle-util'
    

    向惠农app通信 communicateToNative

    deviceUtil.communicateToNative({ msg: 'hello native' }) // 无返回
    

    判断是否是惠农app isApp

    deviceUtil.isApp() // true
    

    判断是否是微信 isWechat

    deviceUtil.isWechat() // false
    

    判断是否是IOS isIOS

    deviceUtil.isIOS() // true
    

    判断是否是安卓 isAndroid

    deviceUtil.isAndroid() // false
    

    跳往惠农app下载 downloadApp

    deviceUtil.downloadApp()
    

    比较app版本号 compareVersion (暂不可用)

    转化H5 url为native schema url toSchema (暂不可用)


    dateUtil

    引用

    import { dateUtil } from '@youngbeen/angle-util'
    

    转化秒数为可阅读时间 getReadableTimeBySeconds

    getReadableTimeBySeconds(time, {
      [seconds: 'yes'|'no'|'dynamic',]
      [secondsDynamicLimit: 60]
    })
    
    • time参数必须,代表待转化的秒数,限定整型
    • seconds参数可选,代表秒模式,默认'yes'一直显示秒,'no'不显示秒, 'dynamic'动态显示(时间低于设定值时,显示秒,其他时候不显示秒)
    • secondsDynamicLimit参数可选,代表秒动态显示设定值,默认60秒,即默认低于一分钟时则显示秒,其他时候不显示秒(该参数匹配seconds为'dynamic'时生效)
    console.log(dateUtil.getReadableTimeBySeconds(23881)) // { days: 0, hours: 6, minutes: 38, seconds: 1, timeString: "6小时38分钟1秒" }
    console.log(dateUtil.getReadableTimeBySeconds(23881, { seconds: 'no' }))    // { days: 0, hours: 6, minutes: 38, seconds: 1, timeString: "6小时38分钟" }
    

    格式化日期时间 formatDateTime

    formatDateTime(format, [time])

    • format参数必选,指定要格式化为的格式(其中YYYY指代全年份,YY指代缩略年份,MM指代月份,DD指代日,HH指代小时,mm指代分钟,ss指代秒)
    • time参数可选,代表待格式化的时间(可接受能转化为js date类型的时间,字符串等),默认使用当前时间
    // 假如当前时间是2019-03-15 03:48:50
    dateUtil.formatDateTime('YYYYMM') // '201903'
    let time = 1452592930000 // 2016-01-12 18:02:10
    dateUtil.formatDateTime('MM/DD/YYYY HH:mm', time)    // '01/12/2016 18:02'
    dateUtil.formatDateTime('YYYY年MM月DD日HH时mm分ss秒', time)    // '2016年01月12日18时02分10秒'
    

    获取格式化日期时间 getDateTime

    getDateTime(time, [type], [seperator])

    • time参数必选,代表待格式化的时间(可接受能转化为js date类型的时间,字符串等)
    • type参数可选,代表格式化的类型,'short'与's'指代短类型(e.g. 2016-1-12 18:02:10),'long'与'l'指代长类型(e.g. 2016-01-12 18:02:10)。默认是长类型
    • seperator参数可选,代表分隔日期的分隔字符,默认是'-',用 - 分隔
    dateUtil.getDateTime() // ''
    let time = 1452592930000
    console.log(dateUtil.getDateTime(time))    // '2016-01-12 18:02:10'
    console.log(dateUtil.getDateTime(time, 'short', '.'))    // '2016.1.12 18:02:10'
    

    获取格式化日期 getDate

    getDate(time, [type], [seperator])

    • time参数必选,代表待格式化的时间(可接受能转化为js date类型的时间,字符串等)
    • type参数可选,代表格式化的类型,'short'与's'指代短类型(e.g. 2016-1-12),'long'与'l'指代长类型(e.g. 2016-01-12)。默认是长类型
    • seperator参数可选,代表分隔日期的分隔字符,默认是'-',用 - 分隔
    console.log(dateUtil.getDate()) // ''
    let time = 1452592930000
    console.log(dateUtil.getDate(time))    // '2016-01-12'
    console.log(dateUtil.getDate(time, 'short', '.'))    // '2016.1.12'
    

    获取格式化时间 getTime

    getTime(time, [type])

    • time参数必选,代表待格式化的时间(可接受能转化为js date类型的时间,字符串等)
    • type参数可选,代表格式化的类型,'short'与's'指代短类型(e.g. 18:02),'long'与'l'指代长类型(e.g. 18:02:10)。默认是长类型
    console.log(dateUtil.getTime()) // ''
    let time = 1452592930000
    console.log(dateUtil.getTime(time))    // '18:02:10'
    console.log(dateUtil.getTime(time, 'short'))    // '18:02'
    

    numberUtil

    引用

    import { numberUtil } from '@youngbeen/angle-util'
    

    保留n位小数四舍五入 round

    round(num, [n])

    • num参数必须,代表需要处理的数字
    • n参数可选,代表需要保留的小数位,默认为0保留到整数
    numberUtil.round(1.23) // 1
    numberUtil.round(0.1) // 0
    numberUtil.round(-0.1) // 0
    numberUtil.round(1.23456, 2) // 1.23
    numberUtil.round(1.23456, 3) // 1.235
    numberUtil.round(1.2032, 2) // 1.2
    numberUtil.round(0.0032, 2) // 0
    

    生成随机数 random

    random([max], [min])

    • max参数可选,代表生成的随机数上限值,包含该值,默认为9
    • min参数可选,代表生成的随机数下限值,包含该值,默认为0
    numberUtil.random() // 默认生成0~9的随机数(包含0和9)
    numberUtil.random(3) // 生成0~3的随机数(包含0和3)
    numberUtil.random(3, 1) // 生成1~3的随机数(包含1和3)
    numberUtil.random(3, 6) // 传入了错误的下限值,将生成3~3的随机数(即永远返回3)
    

    批量生成随机数 multiRandom

    multiRandom([count], [max], [min], [isDuplicate])

    • count参数可选,代表生成的随机数个数,默认2,生成2个随机数
    • max参数可选,代表生成的随机数上限值,包含该值
    • min参数可选,代表生成的随机数下限值,包含该值
    • isDuplicate参数可选,代表是否生成的随机数可以重复,默认false不可以重复

    返回的结果始终是数组

    如果生成的随机数不允许重复,那么一定保证生成区间足够生成需求的随机数个数!

    numberUtil.multiRandom() // 默认生成2个随机数,生成区间0~9(包含0和9),随机数不重复,例如返回[3, 9]
    numberUtil.multiRandom(5) // 生成5个随机数,生成区间0~9(包含0和9),随机数不重复,例如返回[3, 9, 0, 2, 8]
    numberUtil.multiRandom(3, 6, 1) // 生成3个随机数,生成区间1~6(包含1和6),随机数不重复,例如返回[3, 1, 5]
    numberUtil.multiRandom(8, 6, 1, true) // 生成8个随机数,生成区间1~6(包含1和6),随机数可重复,例如返回[3, 1, 5, 2, 3, 6, 2, 5]
    

    arrayUtil

    引用

    import { arrayUtil } from '@youngbeen/angle-util'
    

    深拷贝 deepCopy

    deepCopy(original: any): any

    • original参数必须,代表需要深拷贝的内容
    let arr = [1, 2, 3]
    let newArr = arrayUtil.deepCopy(arr)
    

    textUtil

    引用

    import { textUtil } from '@youngbeen/angle-util'
    

    修正电话号码 fixPhoneStr

    textUtil.fixPhoneStr('abc123de*4') // '1234'
    

    imageUtil (暂不可用)


    Keywords

    Install

    npm i @youngbeen/angle-util

    DownloadsWeekly Downloads

    3

    Version

    1.3.16

    License

    ISC

    Unpacked Size

    1.33 MB

    Total Files

    126

    Last publish

    Collaborators

    • youngbeen