中国优质的IT技术网站
专业IT技术创作平台
IT职业在线教育平台
TextArea有特殊字符时,将下划线变红并且添加提示,删除特殊字符以后再恢复如何实现?效果图如下所示:
微信扫码分享
@Entry @Component struct Second { @State message: string = 'Hello World'; @State isFlag: boolean = false; private text: string = ''; isHasSpecialCharacter(value: string) { let addStr = value.substring(this.text.length) let regex = new RegExp(/[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/); if (!regex.test(addStr)) { this.text = value this.isFlag = false } else { this.isFlag = true } } build() { Row() { Column() { Text(this.message) .fontSize(30) .fontWeight(FontWeight.Bold) .margin({ top: 20 }) TextArea({ text: this.text, placeholder: "请输入" }) .width("80%") .height("25%") .margin({ left: 10, top: 10 }) .onChange((value) => { this.isHasSpecialCharacter(value); }) if (this.isFlag) { Divider() .vertical(false) .color(Color.Red) .strokeWidth(2) .width("80%") .margin({ left: 10, top: 10 }) Text('不能包含特殊字符') .fontSize(20) .fontColor(Color.Red) .margin({ left: 10, top: 10 }) .textAlign(TextAlign.Start) .width("80%") } } .height('100%') .width('100%') } } }