HarmonyOS TextInput输入内容限制
输入手机号时,只允许用户输入0-9的数字,展示时,采用手机号的3-4-4格式(135 6655 4444);
a.只设置.type(InputType.PhoneNumber)时,用户可以输入0-9和 ‘+’ ‘-’ ‘ ’,不满足要求;
b.设置.inputFilter(’\d| ‘})时,用户可以输入0-9和‘ ’,不满足要求;
c.设置.inputFilter(’\d’})时,用户可以输入0-9,展示内容非3-4-4格式,不满足要求;
该如何配置才能满足业务要求?
TextInput({ placeholder: '请输入手机号', text: this.inputPhoneVal })
.type(InputType.PhoneNumber)
.inputFilter('\\d| '})
.backgroundColor('#00000000')
.margin({ left: 2 })
.padding({ left: 10 })
.maxLength(13)
.placeholderColor('#879499')
.height(50)
.copyOption(CopyOptions.None)
.fontColor('#666666')
.fontSize('18fp')
.flexGrow(1)
.stateStyles({ pressed: this.onPress })
.onChange((eventPhoneVal) => {
try {
let phoneArr = eventPhoneVal.split("");
let phoneArrMark: string[] = new Array();
for (let i = 0; i < phoneArr.length; i++) {
if (phoneArr[i] != " ") {
phoneArrMark.push(phoneArr[i]);
}
}
if (phoneArrMark.length > 0) {
this.showPhoneDel = true;
if (phoneArrMark.length >= 3) {
phoneArrMark.splice(3, 0, " ");
}
if (phoneArrMark.length >= 8) {
phoneArrMark.splice(8, 0, " ");
}
} else {
this.showPhoneDel = false;
}
let str = ''
phoneArrMark.forEach(val=>{
str += val;
})
this.inputPhoneVal = str;
if (this.isCanBack) {
let ruleIndex = 0
this.arr_ruleWinnerData = []
this.cachePhoneListState = false
this.arr_showDeleteBtn = false
this.arr_WinnerData.reverse().forEach((val) => {
if (val.startsWith(StringDataUtils.replaceAll(eventPhoneVal, " ", "")) && eventPhoneVal != "") {
this.arr_ruleWinnerData[ruleIndex] = val
this.cachePhoneListState = true
ruleIndex++
}
})
}
} catch (e) {
EpassConsole.instance.printErr(e)
}
})
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS TextInput如何阻止其输入内容
1228浏览 • 1回复 待解决
TextInput组件能根据输入内容改成动态长度吗?
1260浏览 • 1回复 待解决
HarmonyOS hilog输入内容过长
798浏览 • 1回复 待解决
如何监听输入法输入内容的变化?
1332浏览 • 1回复 待解决
#鸿蒙通关秘籍#TextInput组件如何根据输入内容改变组件本身的长度?
674浏览 • 1回复 待解决
TextInput输入内容超过一行后,当失去焦点时(键盘关闭)如何展示
2456浏览 • 1回复 待解决
HarmonyOS 输入内容未点击确认时希望不要统计字数
506浏览 • 1回复 待解决
HarmonyOS web组件强占输入框焦点,导致输入框光标闪烁但无法输入内容
832浏览 • 1回复 待解决
TextInput组件如何清空输入框内输入的内容
1631浏览 • 3回复 待解决
开源鸿蒙ArkUI中,TextInput、TextArea输入组件如何输入追加内容
7723浏览 • 1回复 待解决
#鸿蒙学习大百科#如何设置RichEditor无输入内容时的一个提示内容?
930浏览 • 1回复 待解决
#鸿蒙学习大百科#如何监听RichEditor添加输入法输入内容前和完成输入后可触发的回调?
791浏览 • 1回复 待解决
HarmonyOS TextInput的text属性包含“�”时,输入框内容被异常清空
672浏览 • 1回复 待解决
HarmonyOS 如何限制TextInput的规则?
1235浏览 • 1回复 待解决
输入框组件,是否有输入内容后自动弹出的删除按钮X,还是需要自己用代码实现
1358浏览 • 1回复 待解决
textInput这类组件如何没有限制最大长度是可以无限输入吗?
1499浏览 • 1回复 待解决
HarmonyOS TextInput如何换行输入
876浏览 • 1回复 待解决
TextInput怎么输入中文
4064浏览 • 0回复 待解决
HarmonyOS TextInput怎么限制输入最大长度,同时达到最大长度时怎么Toast提示用户
773浏览 • 1回复 待解决
#鸿蒙学习大百科#如何实时获取TextInput输入的内容?
1319浏览 • 1回复 待解决
HarmonyOS TextInput如何开启禁止输入
1401浏览 • 1回复 待解决
怎么设置当前组件是否可以被拖入内容
1144浏览 • 1回复 待解决
#鸿蒙通关秘籍#TextInput如何限制输入字符为某些字符?比如英文字母
790浏览 • 1回复 待解决
HarmonyOS textInput、textarea组件设置maxLength属性截断emoji表情,会导致输入框内容清空
685浏览 • 1回复 待解决
HarmonyOS 如何让TextInput获得输入焦点
854浏览 • 1回复 待解决
demo如下: