首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于验证邮政编码格式的dart regex

用于验证邮政编码格式的dart regex
EN

Stack Overflow用户
提问于 2020-06-19 13:23:42
回答 2查看 2K关注 0票数 2

我试图创建regex来验证所有邮政和邮政编码格式。我为这个What is the ultimate postal code and zip regex?找到了一个答案,但它在dart中行不通。下面是答案的标准,这正是我要找的

  1. 每个邮政编码系统只使用A和/或0-9,有时空间/破折号
  2. 并不是每个国家都使用邮政编码(例如。
  3. 最短的邮政编码格式是塞拉利昂和NN
  4. ,最长的是美属萨摩亚,NNNNNN
  5. ,您应该允许一个空格或破折号。
  6. 不应以空格或破折号

开头或结尾

下面是我需要转换为dart (?i)^[a-z0-9][a-z0-9\- ]{0,10}[a-z0-9]$的正则表达式

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-19 13:29:33

代码语言:javascript
复制
bool isZipValid = RegExp(r"^[a-z0-9][a-z0-9\- ]{0,10}[a-z0-9]$", caseSensitive: false).hasMatch(zip);

(?i) (不区分大小写模式)是FormatException: Illegal RegExp pattern的罪魁祸首。

票数 5
EN

Stack Overflow用户

发布于 2021-11-29 00:54:24

英国邮编格式

代码语言:javascript
复制
String _formattedPostcode(postcode) {
    RegExp regExp = RegExp(
      r'^([A-Z]{1,2}\d{1,2}[A-Z]?)\s*(\d[A-Z]{2})$'
    );
    var _pureString = postcode.replaceAll(' ', '');
    var fromat = regExp.hasMatch(_pureString);

    if(fromat) {
      final match = regExp.firstMatch(_pureString.toUpperCase());
      return "${match?.group(1)?.padLeft(2, '0')} ${match?.group(2)?.padLeft(2, '0')}";
    } else {
      return postcode;
    }
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62471279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档