HarmonyOS鸿蒙Next上关于中文姓名的权重校验规则适配咨询

发布于 1周前 作者 yibo5220 来自 鸿蒙OS

HarmonyOS鸿蒙Next上关于中文姓名的权重校验规则适配咨询 我正在修复一个中文姓名格式校验的问题,在安卓里面,我们使用权重计算方法来判断是否有效,部分代码片段为:

private static int getChineseNameCharacterQuality(char c) {
    // Unicode用户自定义区,GB18030未查到具体位置,暂定由Unicode范围确定。
    if (c >= '\uE000' && c <= '\uF8FF') {
        return 70;
    }
    if ('·' == c) {
        return 82;
    }
    if ('.' == c || '.' == c) {
        return 81;
    }
    if ('*' == c) {
        return 83;
    }
    byte[] bytes = String.valueOf(c).getBytes(Charset.forName("GB18030"));
    int len = bytes.length;
    .......

其中,byte[] bytes = String.valueOf(c).getBytes(Charset.forName("GB18030"));我们在鸿蒙中没有办法将一个char字符转换为GB18030格式的byte数组,想咨询以下您方是否有合适的方法?

再者,我们在网上搜寻,iconv-lite是一个轻量级的字符库,可能支持我们的需求,我们想咨询一下,有没有什么指导方法,让我们可以在鸿蒙中集成这个库?

iconv-lite overview

thanks


更多关于HarmonyOS鸿蒙Next上关于中文姓名的权重校验规则适配咨询的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

取到相应的jar包,将其置于工程目录entry => libs模块中; 在导入的jar包上,右键单击,选择 Add as Library,然后在弹出的窗口输入引入jar包的名字,点击OK;Jar包引入成功。

操作步骤如下:

① 使用DevEco开发,需要依赖到外部的jar包,如@Test标签,存在于org.junit包中,需要单独引入;

② 取到包含@Test的jar包,如14.jar,将其置于工程目录entry => libs模块中;

③ 在导入的jar包上,右键单击,选择 Add as Library,然后在弹出的窗口输入引入jar包的名字,点击OK, Jar包引入成功。

更多关于HarmonyOS鸿蒙Next上关于中文姓名的权重校验规则适配咨询的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,中文姓名的权重校验规则主要基于Unicode编码和汉字的基本属性进行适配。系统会根据姓名的字符集、笔画数、拼音等要素进行权重计算,以确保姓名的唯一性和规范性。校验规则包括但不限于:姓名字符必须为合法中文字符、姓名长度限制、避免使用生僻字或异体字等。开发者需确保输入的中文姓名符合这些规则,以通过系统的权重校验。

在HarmonyOS鸿蒙Next上,对中文姓名的权重校验规则适配主要涉及以下几个方面:

  1. 字符集校验:确保姓名中的字符符合中文字符集规范,避免使用非法字符或特殊符号。

  2. 长度校验:根据业务需求,设定姓名的长度范围,通常为2到4个汉字。

  3. 姓氏校验:验证姓氏是否在常见姓氏列表中,避免使用不常见或非法的姓氏。

  4. 名字校验:检查名字是否包含非法词汇或敏感词,确保名字的合法性。

  5. 权重计算:根据姓名的长度、常用性等因素,计算姓名权重,确保姓名的合理性和可接受性。

适配时需结合具体业务场景,确保校验规则的灵活性和准确性。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!