Flutter——限制TextField只能輸入漢字或英文字母或數字,並限制輸入最多中文5字符,英文10字符


inputFormatters: [
  WhitelistingTextInputFormatter(RegExp(
      "[a-zA-Z]|[\u4e00-\u9fa5]|[0-9]")), //只能輸入漢字或者字母或數字
  LengthLimitingTextInputFormatter(maxLength),//最大長度
],
動態修改最大字長:每輸入一個中文減1
onChanged: (value) { //
  _changeMaxLimit(value);
},
/// 字符要求:5個漢字或10個英文
void _changeMaxLimit(String value) {
  maxLength = 20;
  for (int i = 0; i < value.length; i++) {
    if (value.codeUnitAt(i) > 122) {
      maxLength--;
    }
  }
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM