HarmonyOS开发实战:基础组件使用-API

 1.基础类组件

模块 介绍
IdCardUtil 提供对身份证校验系列方法
IdUtil 提供生成ID的一系列方法
ArrayUtil 提供对集合的一些常用的方法
DateUtil 提供对日期的一系列封装
ObjectUtil 提供对于对象的系列操作方法
RandomUtil 提供随机数的系列方法
RegUtil 提供对于常用正则表达式的方法
StrUtil 提供对于字符串的操作方法
PhoneUtil 提供常用的手机座机等判断
OutDTO 提供常用的返回实体对象
CharUtil 提供常用的字符操作
CacheUtil 提缓存数据并且提取数据操作
Logger 提供常用的打印日志的方法
RegexConst 提供常用的正则表达式常量
DateConst 提供常用的日期格式化表达式常量
AuthUtil 提供判断授权拉起授权的系列方法
Base64Util 提供字符串与Base64转换方法
1.IdCardUtil的方法
  • isValidCard18 严格校验18位身份证号是否正确,校验规则如下
 /**
   * 排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
   * 顺序码: 表示在同一地址码所标识的区域范围内,对同年、同月、同 日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配 给女性。
   * <li>第1、2位数字表示:所在省份的代码</li>
   * <li>第3、4位数字表示:所在城市的代码</li>
   * <li>第5、6位数字表示:所在区县的代码</li>
   * <li>第7~14位数字表示:出生年、月、日</li>
   * <li>第15、16位数字表示:所在地的派出所的代码</li>
   * <li>第17位数字表示性别:奇数表示男性,偶数表示女性</li>
   * <li>第18位数字是校检码,用来检验身份证的正确性。校检码可以是0~9的数字,有时也用x表示</li>
   * 第十八位数字(校验码)的计算方法为:
   * <li>将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2</li>
   * <li>将这17位数字和系数相乘的结果相加</li>
   * <li>用加出来和除以11,看余数是多少</li>
   * <li>余数只可能有0 1 2 3 4 5 6 7 8 9 10这11个数字。其分别对应的最后一位身份证的号码为1 0 X 9 8 7 6 5 4 3 2</li>
   * <li>通过上面得知如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。如果余数是10,身份证的最后一位号码就是2</li>
   * @param idcard 待验证的身份证
   * @return 是否有效的18位身份证,忽略x的大小写
   */
    console.error(IdCardUtil.isValidCard18("781111199407190143").getMsg())
    //输出  省份代码不正确:78
  • convert15To18 将15位身份证号码转换成18位
    console.error(IdCardUtil.convert15To18("420106640901234").getDataRow());
    //输出 420106194201062348
  • isValidCard15 校验15位身份证号码是否正确
console.error(IdCardUtil.isValidCard15("420106640901234").getMsg());
    //输出 身份证格式正确
  • getProvinceCodeByIdCard 根据身份编号获取户籍省份编码,只支持15或18位身份证号码
    let province = IdCardUtil.getProvinceCodeByIdCard("142303111111111111");
    console.info(province.getSuccess() + "--" + province.getDataRow() + "--" + province.getMsg())
    //输出 true--140000--山西省
  • getCityCodeByIdCard 根据身份编号获取地市级编码,只支持15或18位身份证号码
    let city = IdCardUtil.getCityCodeByIdCard("142303111111111111");
    console.info(city.getSuccess() + "--" + city.getDataRow() + "--" + city.getMsg())
    //输出 true--142300--吕梁地区
  • getDistrictCodeByIdCard 根据身份编号获取区县级编码,只支持15或18位身份证号码
    let district = IdCardUtil.getDistrictCodeByIdCard("142303111111111111");
    console.info(district.getSuccess() + "--" + district.getDataRow() + "--" + district.getMsg())
    //输出 true--142303--汾阳市

点击领取→【纯血版鸿蒙全套最新学习资料】(安全链接,放心点击希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取~~

2.DateUtil的方法
  • parse 将输入的日期字符串转换为Date日期类型
 console.error(DateUtil.parse("2023-01-01"))
    //输出  Sun Jan 01 2023 08:00:00 GMT+0800
  • formatDate 将传入的日期字符串按照传入的format进行格式化输出,不传默认为yyyy-MM-dd,日期格式化年月日时分秒为y-M-d HMs
   console.error(DateUtil.formatDate("2023/1/1"))
    //输出  2023-01-01
    console.error(DateUtil.formatDate("2023/1/1",'yyyy-MM-dd HH:mm:ss'))
    //输出  2023-01-01 00:00:00
  • format 将日期类型的Date根据传入的format格式化成日期字符串(format必传)
    console.error(DateUtil.format(new Date,'yyyy-MM-dd HH:mm:ss'))
    // 输出 2024-01-03 20:25:58
    console.error(DateUtil.format(new Date,'HH:mm:ss'))
    // 输出 20:27:06
  • dateDiff 计算两个Date的日期差单位为天
    const difference = DateUtil.dateDiff(new Date('2023-01-01'), new Date('2023-01-10'));
    console.log(difference + ""); //输出 9
  • strDateDiff 计算两个字符串日期的差单位为天
    const diff = DateUtil.strDateDiff('2023-11-01 12:12:12', '2024-01-10 12:12:12');
    console.log(diff + ""); //输出 70
3.RegUtil的方法
  • isMatch 给定内容是否匹配正则
    let res: OutDTO = RegUtil.isMatch(RegexConst.EMAIL, '111111');
    console.error(res.getSuccess() + "---" + res.getMsg());
    //输出 false---验证字符串格式不正确,请检查
  • isEmailMatch 给定邮箱是否匹配正则
    let res: OutDTO = RegUtil.isEmailMatch('13191191111@163.com');
    console.error(res.getSuccess() + "---" + res.getMsg());
    //输出  true---邮箱格式正确
  • isMobileMatch 给定手机号是否匹配正则
   let res: OutDTO = RegUtil.isMobileMatch('21212');
    console.error(res.getSuccess() + "---" + res.getMsg());
    //输出  false---手机号码格式不正确,请检查<
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值