1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Flutter——限制TextField只能输入汉字或英文字母或数字 并限制输入最多中文10字符

Flutter——限制TextField只能输入汉字或英文字母或数字 并限制输入最多中文10字符

时间:2019-03-31 21:52:57

相关推荐

Flutter——限制TextField只能输入汉字或英文字母或数字 并限制输入最多中文10字符

原文地址

第一步,给textfield设置输入法则:

inputFormatters: [

WhitelistingTextInputFormatter(RegExp(

“[a-zA-Z]|[\u4e00-\u9fa5]|[0-9]”)), //只能输入汉字或者字母或数字

LengthLimitingTextInputFormatter(maxLength),//最大长度

],

第二步,动态修改最大字长:

onChanged: (value) {

_changeMaxLimit(value);

},

/// 改字数限制,每输入一个中文字符,要减1。

/// 字符要求:10个汉字或20个英文

void _changeMaxLimit(String value) {

maxLength = 20;

for (int i = 0; i < value.length; i++) {

if (value.codeUnitAt(i) > 122) {

maxLength–;

}

}

setState(() {});

}

我这里简略写了关键部分,关于maxLength的初始化,textfield别的参数设置,大家还请自行解决。

————————————————

版权声明:本文为CSDN博主「NNadn」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:/NNadn/article/details/90673361

Flutter——限制TextField只能输入汉字或英文字母或数字 并限制输入最多中文10字符 英文20字符

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。