Flutter - 使用正则表达式验证电话号码

2024-03-18

在我的 Flutter 移动应用程序中,我尝试使用以下方法验证电话号码regex。以下是条件。

  1. 电话号码必须包含 10 位数字。
  2. 如果我们使用国家代码,它可以是 12 位数字。 (示例国家代码:+12, 012)
  3. 数字之间不允许有空格或字符

简而言之,这是唯一“有效”的电话号码

0776233475, +94776233475, 094776233475

以下是我尝试过的,但它不起作用。

String _phoneNumberValidator(String value) {
    Pattern pattern =
        r'/^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/';
    RegExp regex = new RegExp(pattern);
    if (!regex.hasMatch(value))
      return 'Enter Valid Phone Number';
    else
      return null;
  }

我该如何解决这个问题?


您可以使第一部分可选匹配+或 0 后跟 9。然后匹配 10 个数字:

^(?:[+0]9)?[0-9]{10}$
  • ^字符串的开头
  • (?:[+0]9)?可选地匹配一个+ or 0随后是 9
  • [0-9]{10}匹配10位数字
  • $字符串结尾

正则表达式演示 https://regex101.com/r/mhXP2g/2

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flutter - 使用正则表达式验证电话号码 的相关文章

  • ExpandableLabel iOS 中的“少看”

    我正在使用第三方库可扩展标签 https github com apploft ExpandableLabel实施一个see more特征 我正在寻找仅快速的解决方案 其中包含标签中的文本而不是按钮中的文本 因此这可以完美地工作 添加库并更
  • 如何清除Android剪贴板?

    我发现的方法都不起作用 这是我尝试过的 1 使用clearPrimaryClip 的方法ClipboardManager class ClipboardManager clipboard ClipboardManager getSystem
  • ListView 和快照 - 错误 - 错误状态:DocumentSnapshotPlatform 中不存在字段[重复]

    这个问题在这里已经有答案了 我对快照和 ListView 有一个小问题 到目前为止 它运行得很好 但自从我更新了 flutter 和 Dart 后 我 收到了一个错误 构建 StreamBuilder gt 时抛出以下 StateError
  • Toast 消息消失后​​完成活动吗?

    有谁知道 是否有可能对 Toast 消息执行某些操作 在我的情况下完成活动 将被关闭 您只需创建一个Thread持续时间只要Toast显示 然后您就可以完成您的Activity public void onCreate Bundle sav
  • FragmentActivity 无法解析为类型

    我正在尝试来自的应用程序这个博客 http android developers blogspot com 2011 02 android 30 fragments api html 在延长的同时FragmentActivity 我收到以下
  • 如何在android中的谷歌地图上聚焦标记

    我只是想知道我们是否可以关注 Android 应用程序中添加的标记 如果是 怎么办 或者有没有其他方法可以完成这项任务 可以说我使用下面的代码添加了一个标记 map addMarker new MarkerOptions title tit
  • Android:WebView/BaseInputConnection 中的退格键

    我在 Android 4 2 中遇到软键盘退格问题 我在 WebView CodeMirror 中有一个自定义编辑器 它使用一个空的
  • Jetpack Compose:制作全屏(绝对定位)组件

    我怎样才能在全屏渲染树的深处制作一个可组合的 类似于Dialog可组合作品 例如 当用户单击图像时 它会显示该图像的全屏预览 而无需更改当前路线 我可以用 CSS 来做到这一点position absolute or position fi
  • Swift - 将图像插入 PDF 不再适用于 iOS 13

    目前正在开发在我的贷款计算器应用程序上导出 PDF 的功能 我有一个预览屏幕 可以在您保存 PDF 之前显示它 预览屏幕由带有 html 的 webView 组成 其中包含占位符 我能够成功地将图像插入到正确的占位符上 并将其显示在 PDF
  • AndEngine MenuScene - 无法单击按钮

    我有一个关于 android 和 andengine 的小问题 这是我的主菜单的源代码 AbstractScene is extending Scene public class MainMenuScene extends Abstract
  • Android - 状态栏阻止全屏

    我的应用程序启动时可以全屏正确运行 然而 在最小化然后返回应用程序后 状态栏会弹出 并将我的视图向下推一点 如何防止状态栏移动我的视图 这是我的布局
  • SwiftUI - 从 NSObject 继承的 ObservableObject 在 iOS 13 中不会更新

    我知道 这是 无法在 iOS XX 中工作 问题之一 但我完全陷入困境 所以我有一个ObservableObject继承自的类NSObject 因为我需要听委托方法UISearchResultsUpdating class SearchBa
  • Android 的 Intent 和 Parcelable 对象

    为什么我需要打包我的对象 即使我只需将其发送到同一任务的另一个线程 实际上 我需要打开一个甚至可以在同一线程 主线程 上运行的活动 换句话说 为什么 Google 不提供一个 startActivity 版本 它采用通用对象广告参数而不是捆
  • Expresso 的 Android 测试首选项片段

    我在通过 Expresso 测试我的代码时遇到问题 我写了这段代码 public class SettingsActivity extends Activity Override protected void onCreate Bundle
  • 了解应用程序在后台时何时收到 Firebase 消息

    我知道这个标题有同样的问题 但不幸的是它没有得到正确的回答 它被接受了 here https stackoverflow com questions 37711082 how to handle notification when app
  • Python RE(总之检查第一个字母是否区分大小写,其余部分不区分大小写)

    在下面的情况下 我想匹配字符串 Singapore 其中 S 应始终为大写 其余单词可能为小写或大写 但在下面的字符串 s 是小写的 它在搜索条件中匹配 任何人都可以让我知道如何实施吗 import re st Information in
  • ArraySlice 中的 Swift [重复]

    这个问题在这里已经有答案了 在数组上使用 prefix 方法后 我得到了所谓的 arraySlice 我怎样才能将其转换为数组 我试图从 FacebookGraphApi 获取 Ints 然后请求前 3 个 前缀 3 并尝试将它们添加到新数
  • 在数组列表中过滤 Filterable 不取消之前的过滤

    我看过过滤器方法文档 其中显示调用过滤器会取消所有先前未执行的过滤请求 并发布一个稍后将执行的新过滤请求 但我收到的实际回调有些不同 在我的实现中 它不会取消先前的过滤器请求并调用publishResults 最近一次搜索条件后的上一次搜索
  • 如何正确处理 ListView 内的 Android EditText 输入?

    在我的应用程序中 我有一个在 a 中添加 删除 编辑记录的活动SortedMap 该活动作为以下活动的延伸实施ListActivity 我已经实现了自定义ArrayAdapter对于收藏品 Every ListView项目 对应于基础记录
  • 如何使用 PHP 查找字符串中字符的序列模式?

    假设我有随机的文本块 EAMoAAQAABwEBAAAAAAAAAAAAAAABAgMFBgcIBAkBAQABBQEBAAAAAAAAAAAAAAAGAgMEBQcBCBAAAQMDAgMEBQcIBQgGCwEAAQACAxEEBSEG

随机推荐

  • 使用 Identity 2.0 数据库进行 Moq 模拟

    我在基于简单成员资格数据库的 MVC 5 Entity Framework 6 应用程序中使用 Moq 模拟针对 BusAct 控制器成功设置了集成测试 但现在我已经将数据库迁移到Identity 2 0 并将UserProfile替换为A
  • 尝试使用 Jersey 将 JSON 转换为 POJO 时出错

    我正在这样做 WebResource resource client resource urlStr resource accept MediaType APPLICATION JSON TYPE MediaType APPLICATION
  • ggplot 和plot 如何以不同的方式处理 inf 值?

    我很难理解为什么ggplot and plot相同数据生成略有不同的图 ggplot包括顶部的 inf 值 而plot isn t with geneFDR plot log2 FC log10 FDR pch 20 main FDR vs
  • 需要使用 ASP.NET MVC 2 框架实体的帮助

    我正在使用 C 在 ASP NET MVC 2 中制作一个网站 我设计了一个数据库 其中包含一堆具有多对多关系的表 类似于以下内容 祖父母 多对多 父母 and 父级 多对多 子级 我使用实体框架来创建所有实体类 现在正在处理存储库类中的一
  • 检查 Powershell 中的范围

    我正在尝试编写一个脚本来获取计算机的 IP 地址并检查它是否属于特定的 IP 范围 例如 如果机器的 IP 是 192 168 0 5 脚本将检查它是否在 192 168 0 10 到 192 168 0 20 范围内 到目前为止 我的脚本
  • App Store开发者重命名

    我有一个个人开发者帐户 而不是公司 我发布的每个应用程序附近都写有我的名字 现在我想把它改成一个漂亮的名字 而不改变我的开发者帐户 也不注册公司 任何帮助将不胜感激 我更改了已批准的答案 因为我们被迫启动所有法律程序来获取我们公司名称的合法
  • ant:警告:无法映射用于编码 UTF8 的字符

    我见过很多像我这样的问题 但他们没有回答我的问题 因为我使用的是 ant 而不是使用 eclipse 我运行这段代码 ant clean dist它多次告诉我warning unmappable character for encoding
  • 什么是 com.android.externalstorage?

    尽管这是一个简单的问题 但我找不到答案 or 堆栈溢出 https i stack imgur com 58Zv7 png 当我使用以下代码时 我得到这个结果 com android externalstorage documents tr
  • SSIS 将一张表中的所有数据导出到多个文件中

    我有一个名为 customers 的表 其中包含大约 1 000 000 条记录 我需要将所有记录传输到 8 个不同的平面文件 这会增加文件名中的数字 例如cust01 cust02 cust03 cust04 etc 有人告诉我这可以使用
  • 如何在 Android SDK 的 eclipse 中关闭 @string 资源的警告

    我知道 从技术上讲 对字符串进行硬编码并不是最佳实践 但我可以稍后处理它 现在我只想完成我的项目的外壳 并且我对代码中的警告非常强迫 有什么方法可以关闭它吗 如果我的标题不够具体 请以此为例
  • 何时在 Ninject 中停用瞬态范围对象?

    当 Ninject 中的对象与InTransientScope 该对象不会放入缓存中 因为它是 呃 瞬态的并且没有任何范围 完成该对象后 我可以调用kernel Release obj 这会传递到缓存 在缓存中检索缓存的项目并调用Pipel
  • 如何使用 SQL::Abstract 生成 SQL 查询?

    我如何生成WHERE此查询的子句使用SQL 摘要 http search cpan org perldoc SQL 3a 3aAbstract 从表中选择 COUNT 其中 id 第111章 111 1 2 3 4 AND 状态 待处理 包
  • 获取存储在sd卡+ android中的图像的缩略图Uri/路径

    SDK版本 1 6 我正在使用以下意图打开 Android 的默认图库 Intent intent new Intent intent setType image intent setAction Intent ACTION GET CON
  • 如何使用SimpleStorage插入xml prolog来生成gpx文件?

    我计划一劳永逸地采用一个方便的工具来处理 gpx 文件的创建 我相信简单存储 http www cromis net blog downloads simplestorage 这是一个OmniXML http www omnixml com
  • 无限 while 循环和 control-c

    所以 我写了下面的代码 void main void int charNums ALPHABET i 1 char word MAX while i initialize charNums word getString word setLe
  • 一种语言的编译器如何用该语言编写? [复制]

    这个问题在这里已经有答案了 可能的重复 在 自身 中实现编译器 https stackoverflow com questions 193560 implementing a compiler in itself 引导语言 https st
  • “self”关键字在类方法中是必需的吗?

    我是 python 初学者 我了解到该方法中的第一个参数应该包含一些 self 关键字 但我发现以下程序在没有 self 关键字的情况下运行 你能解释一下吗 下面是我的代码 class Student object def init sel
  • WPF 中的 StaticResource 和 DynamicResource 有什么区别?

    在 WPF 中使用画笔 模板和样式等资源时 可以将它们指定为 StaticResources
  • 如何使用Javascript来操作模态内容?

    我正在使用 bootstrap modals 和 Ruby on Rails 我能够很好地显示模式 但在使用 Javascript 操作模式内容时遇到问题 我不确定我做错了什么 但我根本无法使用 Javascript 来影响模态的内容 以至
  • Flutter - 使用正则表达式验证电话号码

    在我的 Flutter 移动应用程序中 我尝试使用以下方法验证电话号码regex 以下是条件 电话号码必须包含 10 位数字 如果我们使用国家代码 它可以是 12 位数字 示例国家代码 12 012 数字之间不允许有空格或字符 简而言之 这