zoukankan      html  css  js  c++  java
  • 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
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
     
     
     
  • 相关阅读:
    sql取每个分组的第一行数据
    PHP microtime() 函数
    笔记产品会不会被淘汰
    making an os NO.1 怎样进内核之二
    hjkhjkh
    HTTP协议理解
    hjkhjkh
    making an os NO.1 怎样进内核之一
    hjkhjkh
    笔记产品会不会被淘汰
  • 原文地址:https://www.cnblogs.com/sundaysme/p/12703042.html
Copyright © 2011-2022 走看看