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)
}
})
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS TextInput如何阻止其输入内容
689浏览 • 1回复 待解决
TextInput组件能根据输入内容改成动态长度吗?
836浏览 • 1回复 待解决
HarmonyOS hilog输入内容过长
420浏览 • 1回复 待解决
#鸿蒙通关秘籍#TextInput组件如何根据输入内容改变组件本身的长度?
372浏览 • 1回复 待解决
如何监听输入法输入内容的变化?
910浏览 • 1回复 待解决
TextInput输入内容超过一行后,当失去焦点时(键盘关闭)如何展示
2109浏览 • 1回复 待解决
HarmonyOS 输入内容未点击确认时希望不要统计字数
148浏览 • 1回复 待解决
HarmonyOS web组件强占输入框焦点,导致输入框光标闪烁但无法输入内容
333浏览 • 1回复 待解决
TextInput组件如何清空输入框内输入的内容
1015浏览 • 1回复 待解决
开源鸿蒙ArkUI中,TextInput、TextArea输入组件如何输入追加内容
7034浏览 • 1回复 待解决
#鸿蒙学习大百科#如何设置RichEditor无输入内容时的一个提示内容?
581浏览 • 1回复 待解决
输入框组件,是否有输入内容后自动弹出的删除按钮X,还是需要自己用代码实现
1099浏览 • 1回复 待解决
HarmonyOS 如何限制TextInput的规则?
859浏览 • 1回复 待解决
#鸿蒙学习大百科#如何监听RichEditor添加输入法输入内容前和完成输入后可触发的回调?
437浏览 • 1回复 待解决
HarmonyOS TextInput的text属性包含“�”时,输入框内容被异常清空
234浏览 • 1回复 待解决
textInput这类组件如何没有限制最大长度是可以无限输入吗?
1158浏览 • 1回复 待解决
HarmonyOS TextInput如何换行输入
425浏览 • 1回复 待解决
TextInput怎么输入中文
3367浏览 • 0回复 待解决
HarmonyOS TextInput怎么限制输入最大长度,同时达到最大长度时怎么Toast提示用户
247浏览 • 1回复 待解决
#鸿蒙学习大百科#如何实时获取TextInput输入的内容?
874浏览 • 1回复 待解决
HarmonyOS TextInput如何开启禁止输入
548浏览 • 1回复 待解决
#鸿蒙通关秘籍#TextInput如何限制输入字符为某些字符?比如英文字母
421浏览 • 1回复 待解决
怎么设置当前组件是否可以被拖入内容
918浏览 • 1回复 待解决
HarmonyOS textInput、textarea组件设置maxLength属性截断emoji表情,会导致输入框内容清空
302浏览 • 1回复 待解决
HarmonyOS 如何让TextInput获得输入焦点
342浏览 • 1回复 待解决
demo如下: