HarmonyOS 鸿蒙Next Text 识别电话号码、邮箱、网址 点击时弹出对应的自定义弹窗

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

HarmonyOS 鸿蒙Next Text 识别电话号码、邮箱、网址 点击时弹出对应的自定义弹窗 系统的Text 能不能识别电话号码、邮箱、网址 点击时弹出对应的自定义弹窗,不需要系统的弹出的菜单

7 回复
import { promptAction } from '@kit.ArkUI';

@Entry
@Component
struct TextExample7 {
  @State message: string = "手机号:13333333333,邮箱:123@qq.com"

  isValidPhoneNumber(phoneNumber: string): boolean {
    // 使用正则表达式匹配手机号的格式
    const phonePattern = /^1[3456789]\d{9}$/;
    return phonePattern.test(phoneNumber);
  }

  // 判断邮箱是否合法
  isValidEmail(email: string): boolean {
    // 使用正则表达式匹配邮箱的格式
    const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
    return emailPattern.test(email);
  }

  build() {
    Column() {
      Column() {
        Text(this.message)
        .copyOption(CopyOptions.InApp)
        .onTextSelectionChange((selectionStart: number, selectionEnd: number) => {
          let str = this.message.slice(selectionStart, selectionEnd)
          if (this.isValidPhoneNumber(str)) {
            promptAction.showToast({
              message: '选中内容是手机号'
            });
          } else if (this.isValidEmail(str)) {
            promptAction.showToast({
              message: '选中内容是邮箱'
            });
          } else {
            promptAction.showToast({
              message: '选中内容未识别'
            });
          }
        })
        .borderWidth(1)
        .borderColor(Color.Red)
        .width("80%")
        .height(100)
      }
      .width('100%')
      .backgroundColor(Color.White)
      .alignItems(HorizontalAlign.Start)
      .padding(25)
    }
    .height('100%')
  }
}

这样试试

更多关于HarmonyOS 鸿蒙Next Text 识别电话号码、邮箱、网址 点击时弹出对应的自定义弹窗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


自己正则匹配处理呗

我的想法是这样的,先获取用户点击的位置,不知道这个Text有没有api方法,获取用户点击的内容,然后再匹配字符串里的信息,再弹出对应的dialog,

复杂的话就是正则自己写,简单就是用AI识别

我的想法是这样的,先获取用户点击的位置,不知道这个Text有没有api方法,获取用户点击的内容,然后再匹配字符串里的信息,再弹出对应的dialog,

在HarmonyOS(鸿蒙)系统中,要实现Next Text组件识别电话号码、邮箱、网址并在点击时弹出对应的自定义弹窗,可以通过以下步骤进行:

  1. 文本解析:首先,你需要对Next Text组件中的文本进行解析,识别出其中的电话号码、邮箱和网址。这通常可以通过正则表达式来实现,鸿蒙系统提供了相应的字符串处理API来帮助你完成这一任务。

  2. 事件监听:为Next Text组件添加点击事件监听器。当用户点击文本时,触发监听器并判断点击位置是否位于识别出的电话号码、邮箱或网址上。

  3. 弹窗显示:根据点击的内容(电话号码、邮箱或网址),显示对应的自定义弹窗。鸿蒙系统提供了丰富的UI组件和布局管理器来帮助你创建弹窗界面。

  4. 弹窗逻辑处理:在弹窗中,你可以添加相应的处理逻辑,比如拨打电话、发送邮件或打开网址等。这些功能可以通过鸿蒙系统提供的API来实现。

请注意,实现上述功能需要你对鸿蒙系统的UI编程和事件处理机制有一定的了解。如果在实现过程中遇到问题,建议查阅鸿蒙系统的官方文档或相关开发资料。

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

回到顶部