flutter-正則

一:TextInputFormatter篇

(1)忽略特殊字符

import 'package:flutter/services.dart';
const _regExp=r"^[\u4E00-\u9FA5A-Za-z0-9_]+$";
//忽略特殊字符
class IgnoreOtherFormatter extends TextInputFormatter{
  @override
  TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) {
    if(newValue.text.length>0){
      if(RegExp(_regExp).firstMatch(newValue.text)!=null){
        return newValue;
      }
      return oldValue;
    }
   return newValue;
  }
}

(2)只能輸入數(shù)字和小寫字母

import 'package:flutter/services.dart';
const _regExp=r"^[Za-z0-9_]+$";
class onlyInputNumberAndLowWorkFormatter extends TextInputFormatter{
  @override
  TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) {
    if(newValue.text.length>0){
      if(RegExp(_regExp).firstMatch(newValue.text)!=null){
        return newValue;
      }
      return oldValue;
    }
   return newValue;
  }
}

(3)只能輸入數(shù)字和字母

import 'package:flutter/services.dart';
const _regExp=r"^[ZA-ZZa-z0-9_]+$";
class onlyInputNumberAndWorkFormatter extends TextInputFormatter{
  @override
  TextEditingValue formatEditUpdate(TextEditingValue oldValue, TextEditingValue newValue) {
    if(newValue.text.length>0){
      if(RegExp(_regExp).firstMatch(newValue.text)!=null){
        return newValue;
      }
      return oldValue;
    }
   return newValue;
  }
}

(4)只能輸入數(shù)字

WhitelistingTextInputFormatter.digitsOnly

(4)長度限制(限制6位)

LengthLimitingTextInputFormatter(6)

(6)限制單行

BlacklistingTextInputFormatter.singleLineFormatter

二:正則

(1)手機(jī)號驗證

  static bool isChinaPhoneLegal(String str) {
    return RegExp(
            r"^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$")
        .hasMatch(str);
  }

(2)郵箱驗證

  static bool isEmail(String str) {
    return RegExp(
        r"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$")
        .hasMatch(str);
  }

(3)驗證URL

  static bool isUrl(String value) {
    return RegExp(
        r"^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+")
      .hasMatch(value);
}

(4)驗證身份證

  static bool isIdCard(String value) {
    return RegExp(
        r"\d{17}[\d|x]|\d{15}")
      .hasMatch(value);
}

(5)驗證中文

  static bool isChinese(String value) {
    return RegExp(
       r"[\u4e00-\u9fa5]")
      .hasMatch(value);
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • TextInputFormatter篇 忽略特殊字符 只能輸入數(shù)字和小寫字母 只能輸入數(shù)字和字母 只能輸入數(shù)字 長...
    rhyme_lph閱讀 17,416評論 1 7
  • <center>正則表達(dá)式</center> 1.通配符號 2.非打印字符 3.特殊字符 4.限定符 5.定位符 ...
    明日孤風(fēng)寒閱讀 678評論 0 0
  • 正則表達(dá)式的使用,可以通過簡單的辦法來實現(xiàn)強(qiáng)大的功能。下面先給出一個簡單的示例: ^ 為匹配輸入字符串的開始位置。...
    wfmm1990閱讀 6,659評論 0 1
  • 久違的晴天,家長會。 家長大會開好到教室時,離放學(xué)已經(jīng)沒多少時間了。班主任說已經(jīng)安排了三個家長分享經(jīng)驗。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,826評論 16 22
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友。感恩相遇!感恩不離不棄。 中午開了第一次的黨會,身份的轉(zhuǎn)變要...
    余生動聽閱讀 10,871評論 0 11

友情鏈接更多精彩內(nèi)容