HarmonyOS TextInput处理电话号码格式
文本输入需要将电话号码xxxxxxxxxxx在输入时转为xxx xxxx xxxx的格式,采用官方api文档示例不生效,想了解还有什么需要设置的地方?
@State phoneText: string = ''
TextInput({ placeholder: $r('app.string.input_phone_hint'), text: `${this.phoneText}` })
.onChange((number: string) => {
this.phoneText = this.loginViewModel.formatPhoneInput(number)
})
.cancelButton({
icon: {
src: $r('app.media.icon_iv_data_delete'),
size: 18
}
})
.backgroundColor(Color.Transparent)
.fontSize(18)
.type(InputType.Number)
.fontColor($r('app.color.cgws_color_FF333333_FFD1D1D1'))
.placeholderColor($r('app.color.cgws_color_FFC2C2C2_FF5C5C5C_1'))
.maxLength(this.loginViewModel.PHONE_NUM_TEXT_MAXSIZE_LENGTH)
public formatPhoneInput(number: string): string {
let phoneText = ''
let phoneNumberNoSpace: string = this.removeSpace(number);
if (phoneNumberNoSpace.length > this.PHONE_NUM_TEXT_MAXSIZE_LENGTH - 2) {
phoneText = phoneNumberNoSpace;
} else if (this.checkNeedNumberSpace(number)) {
if (phoneNumberNoSpace.length <= 3) {
phoneText = phoneNumberNoSpace;
} else {
let split1: string = phoneNumberNoSpace.substring(0, 3);
let split2: string = phoneNumberNoSpace.substring(3);
phoneText = split1 + ' ' + split2;
if (phoneNumberNoSpace.length > 7) {
split2 = phoneNumberNoSpace.substring(3, 7);
let split3: string = phoneNumberNoSpace.substring(7);
phoneText = split1 + ' ' + split2 + ' ' + split3;
}
}
} else {
phoneText = number;
}
return phoneText
}
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 (StrUtil.isEmpty(str)) {
return ''
}
return str.replace(new RegExp("[\\s]", "g"), '')
}
- 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.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
HarmonyOS
赞
收藏 0
回答 1
相关问题
如何判断传入的电话号码格式是否正确。
1166浏览 • 1回复 待解决
如何对电话号码进行格式化
1426浏览 • 1回复 待解决
如何获取电话号码归属地
1025浏览 • 1回复 待解决
#鸿蒙学习大百科#如何判断一个号码是否是电话号码?
1055浏览 • 1回复 待解决
#鸿蒙学习大百科#如何将电话号码显示为RFC3966类型的电话号码?
922浏览 • 0回复 待解决
HarmonyOS Text组件如何识别链接,电话号码,emoj表情等?
801浏览 • 1回复 待解决
电话号码可以带到发送短信界面,短信内容怎么带过去
2736浏览 • 1回复 待解决
HarmonyOS RN页面只能填充时点击电话号码输入框没有弹出推荐号码(剪切板有内容)
601浏览 • 1回复 待解决
#鸿蒙学习大百科#如何跳转到指定电话号码发送短信的页面?
1154浏览 • 1回复 待解决
HarmonyOS 如何拉起系统电话拨号,以及保存号码到通讯录
675浏览 • 1回复 待解决
HarmonyOS 如何正确处理与系统电话的互斥表现
555浏览 • 1回复 待解决
HarmonyOS web内通过tel://xxxx格式url无法唤起系统拨打电话
569浏览 • 1回复 待解决
如何优雅处理导航语音与电话来电的打断优先级?
313浏览 • 0回复 待解决
HarmonyOS TextInput组件如何在输入框显示字符串之前匹配字符串格式(金额格式输入)
975浏览 • 1回复 待解决
HarmonyOS 如何进行form表单校验,比如检查是否非空,手机号码格式是否正确
824浏览 • 1回复 待解决
HarmonyOS TextInput 只允许输入字母、和数字和汉字 该怎么处理
990浏览 • 1回复 待解决
HarmonyOS 如何跳转到拨号页面,并带入号码
1928浏览 • 1回复 待解决
HarmonyOS 拨打电话功能
796浏览 • 1回复 待解决
HarmonyOS 如何调用拨打电话界面
1141浏览 • 1回复 待解决
HarmonyOS 使用电话本接口无法获取电话本数据
520浏览 • 1回复 待解决
HarmonyOS 无法跳转电话拨号页面
839浏览 • 1回复 待解决
HarmonyOS 拨打电话系统能力
1613浏览 • 1回复 待解决
电话来了报pause事件,但是挂电话没有报resume事件
2489浏览 • 1回复 待解决
鸿蒙调用接通电话与挂断电话接口失败
2568浏览 • 0回复 待解决
鸿蒙-JS-API,如何监听通话拨号页面号码,拨号页面输入*#06# ,查询IMEI号码
13498浏览 • 1回复 待解决
因为设置的InputType为Number类型,这是一个纯数字键盘,会自动过滤掉空格,所以不会有手机号格式化后 的效果,把InputType设置为normal类型时,即可
可以通过设置.inputFilter("[0-9]| ")过滤,只允许输入数字和空格