flutter之正則


 

多種銀行卡

多種銀行卡正則

TextInputFormatter篇

  1. 忽略特殊字符
import 'package:flutter/services.dart'; const _regExp=r"^[\u4E00-\u9FA5A-Za-z0-9_]+$"; //忽略特殊字符 class IgnoreOtherFormatter extends TextInputFormatter{ 
  1. 只能輸入數字和小寫字母
import 'package:flutter/services.dart'; const _regExp=r"^[Za-z0-9_]+$"; class onlyInputNumberAndLowWorkFormatter extends TextInputFormatter{ 
  1. 只能輸入數字和字母
import 'package:flutter/services.dart'; const _regExp=r"^[ZA-ZZa-z0-9_]+$"; class onlyInputNumberAndWorkFormatter extends TextInputFormatter{ 
  1. 只能輸入數字
WhitelistingTextInputFormatter.digitsOnly 
  1. 長度限制(限制6位)
LengthLimitingTextInputFormatter(6) 
  1. 限制單行
BlacklistingTextInputFormatter.singleLineFormatter 

正則校驗篇

  ///手機號驗證 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); } ///郵箱驗證 static bool isEmail(String str) { return RegExp( r"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$") .hasMatch(str); } ///驗證URL static bool isUrl(String value) { return RegExp( r"^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+") .hasMatch(value); } ///驗證身份證 static bool isIdCard(String value) { return RegExp( r"\d{17}[\d|x]|\d{15}") .hasMatch(value); } ///驗證中文 static bool isChinese(String value) { return RegExp( r"[\u4e00-\u9fa5]") .hasMatch(value); } 

final String regexEmail = "(^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*\$)|(^(\\w+((-\\w+)|(\\.\\w+))*)\\+\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+\$)";//
///銀行卡長度校驗
final String regexBankCardLength = "/^[0-9]\\d{9,29}\$/";
 
isNotEmptyStr(String str){
return (str != null && str.isNotEmpty);
}

isNotEmptyToken(){
return isNotEmptyStr(SpUtil.getString('token')) && isNotEmptyStr(UserManager.userInfoModel?.id?.toString());
}

isNotEmptyUserId(){
return isNotEmptyStr(UserManager.userInfoModel?.id?.toString());
}

String notNullStr(dynamic objStr){
return isNotEmptyStr(objStr) ? objStr : '';
}

bool isNotNullLength(dynamic dataList){
return (dataList != null && dataList.length > 0);
}

/// 檢查是否是郵箱格式
bool isEmail(String input) {
if (input == null || input.isEmpty) return false;
return new RegExp(regexEmail).hasMatch(input);
}

//卡片
bool isBankCardLength(String inputStr) {
if (inputStr == null || inputStr.isEmpty) return false;
return new RegExp(regexBankCardLength).hasMatch(inputStr);
}

目前所遇到的正則,后續會持續更新,歡迎評論



作者:rhyme_lph
鏈接:https://www.jianshu.com/p/33ccf516ed6a
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
 
 
 


免責聲明!

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



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