如何在鸿蒙开发中设置只支持数字输入的输入框?

阅读 568
1 个回答

可以参考一下代码设置

@Entry 
@Component 
struct phone_example { 
  @State submitValue: string = '' 
  @State text : string = '' 

  public readonly NUM_TEXT_MAXSIZE_LENGTH = 14; 

  isEmpty(str?: string): boolean { 
    return str == 'undefined' ||!str ||!new RegExp("[^\\s]").test(str); 
  } 

  checkNeedNumberSpace(numText: string) { 
    let isSpace: RegExp = new RegExp('[\\+;,#\\*]', 'g'); 
    let isRule: RegExp = new RegExp('^\\+.*'); 

    if (isSpace.test(numText)) { 
      // 如果电话号码里有特殊字符,就不加空格 
      if (isRule.test(numText)) { 
        return true; 
      } else { 
        return false; 
      } 
    } 
    return true; 
  } 

  removeSpace(str: string): string { 
    if (this.isEmpty(str)) { 
      return ''; 
    } 
    return str.replace(new RegExp("[\\s]", "g"), ''); 
  } 

  build() { 
    Column() { 
      Row() { 
        TextInput({ text: `${this.text}` }).type(InputType.PhoneNumber);
      }
    }
  }
}

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题