HarmonyOS 鸿蒙Next 使用正则校验一段字符串只含有(A-Z)

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

HarmonyOS 鸿蒙Next 使用正则校验一段字符串只含有(A-Z)

使用正则校验一段字符串只含有(A-Z)

2 回复

1.如果您是想校验输入内容是否满足正则表达式,ArkUI提供的输入组件具有inputFilter 的api可以判断是否匹配正则表达式,您可以参考如下文档: https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/ts-basic-components-textinput-V13

2.如果您是想使用正则表达式校验匹配字符串,您可以使用RegExp创建正则表达式,您可以参考如下文档中的如何使用正则表达式: https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkts-kit-V5

参考demo:

@Entry

@Component

struct TextInputExample {

  controller: TextInputController = new TextInputController()

  build() {

    Column() {

      TextInput({placeholder:'请输入密码', text: '123456', controller: this.controller})

        .type(InputType.Password)

        .placeholderColor(Color.Gray)

        .inputFilter('[A-Z]', (val) => {

          console.error('TextInputExample :' + val);

          return 0;

        })

    }.width('100%')

  }

}

更多关于HarmonyOS 鸿蒙Next 使用正则校验一段字符串只含有(A-Z)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,如果你需要使用正则表达式来校验一段字符串是否只含有大写字母(A-Z),可以使用HarmonyOS提供的正则表达式功能。下面是一个简单的示例代码,展示了如何在鸿蒙系统中实现这一功能:

#include <regex>
#include <string>
#include <iostream>

bool isValidString(const std::string& str) {
    std::regex pattern("^[A-Z]+$");
    return std::regex_match(str, pattern);
}

int main() {
    std::string input = "YOUR_TEST_STRING_HERE"; // 替换为你的测试字符串
    if (isValidString(input)) {
        std::cout << "字符串只含有大写字母。" << std::endl;
    } else {
        std::cout << "字符串含有非大写字母的字符。" << std::endl;
    }
    return 0;
}

在上述代码中,isValidString函数使用了正则表达式^[A-Z]+$来匹配只包含大写字母的字符串。^表示字符串的开始,[A-Z]表示大写字母的范围,+表示前面的字符可以出现一次或多次,$表示字符串的结束。

请注意,这个示例是基于C++的标准库。鸿蒙系统支持C++编程,因此你可以直接使用这个示例进行字符串校验。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部