如何在 iOS 中验证美国或加拿大的邮政编码?

2024-02-21

我想知道有什么方法可以验证美国或加拿大的邮政编码吗?我尝试使用正则表达式。 就像美国一样

- (BOOL)validateZip:(NSString *)candidate {
    NSString *emailRegex = @"(^{5}(-{4})?$)|(^[ABCEGHJKLMNPRSTVXY][A-Z][- ]*[A-Z]$)";
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; 

    return [emailTest evaluateWithObject:candidate];   
}

但它不起作用。请任何人对这个验证有任何想法。是否有任何其他 api 用于验证?如果可能的话请指导我?


对于美国,您有量词 ({5}, {4}, ?)正确,但忘记具体说明您要量化的内容。你要:

(^[0-9]{5}(-[0-9]{4})?$)

根据维基百科,对于加拿大,格式为A0A 0A0,所以我会这样做:

(^[a-zA-Z][0-9][a-zA-Z][- ]*[0-9][a-zA-Z][0-9]$)

现在,我将像这样编写完整的表达式,并启用不区分大小写:

@"^(\\d{5}(-\\d{4})?|[a-z]\\d[a-z][- ]*\\d[a-z]\\d)$"

坦率地说,我实际上并不熟悉 Objective C 或 iOS,遗憾的是我还没有测试过上述内容。不过,以前我见过这样的帖子提到NSRegularExpression,它在您的代码中缺失,但也许不是必需的。查看其他人的示例,看看您可能还会犯哪些其他简单错误。祝你好运。

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

如何在 iOS 中验证美国或加拿大的邮政编码? 的相关文章

  • 从子字符串中提取的映射运算符

    I have list of dicts print L 0 x 1 1 y 2 2 z 1 0 x 1 1 y lt 3 2 z gt 1 我想创建元组 其值位于运算符之前 运算符之后 值之后 first step wanted x 1
  • iOS 新手。预期的表达错误?

    这看起来很不寻常 因为该方法与我的 showAnswer 方法完全相同 所以我想我应该在这里问 import QuizViewController h interface QuizViewController end implementat
  • 如果您查看内部,nib 文件到底是什么样子的?

    我刚刚学习 nibs 和 swift 并对某些东西感到好奇 我知道 如果您有一个 main storyboard 文件 则首先加载根视图控制器的笔尖 然后加载该视图控制器下可能分层存在的任何视图 但是 我想知道一些事情 当他们说笔尖已 加载
  • 快速找到一个数字的下一个倍数的方法

    我需要找到从基数开始的数字的第一个倍数 例如 7 中 3 的第一个倍数是 9 我的第一次尝试是这样做 multiple baseNumber while multiple number 0 multiple 最后 multiple 将具有第
  • 当 iPhone 设备方向朝上/朝下时,我可以判断它是横向还是纵向吗?

    我得到这个代码 如果设备处于左 右横向或上下颠倒状态 它会旋转并显示另一个视图控制器 但如果它的方向朝上或朝下 那么我如何判断它是横向模式还是纵向模式 因为我只想在它面朝上或朝下以及横向模式下旋转 void viewDidAppear BO
  • Pandas 字符串提取所有匹配项

    我正在学习 pandas 系列字符串方法中的正则表达式操作 我能够从字符串中提取第一个数字 但我的正则表达式与第二个数字不匹配 如何捕获这两个数字 注意第二行 第二个元素在这里是 NAN CODE import pandas as pd d
  • 我可以使用 NSDateFormatter 将此日期字符串转换为 NSDate 吗?

    我有这个字符串 2010 08 24T16 00 00 05 00 我想从中提取时间部分 即 16 00 并将其转换为 12 小时等效值 即下午 04 00 我正在尝试使用 NSDateFormatter 来完成此任务 但它不起作用 NSD
  • Swift NotificationCenter 删除观察者最快的方法

    我正在添加一些观察员viewController applicationWillResignActive applicationDidEnterBackground 以及许多其他人 我想删除self作为一行中所有已注册通知的观察者 我的问题
  • 取消交互式 UINavigationController 弹出手势不会调用 UINavigationControllerDelegate 方法

    如果拖动 a 的边缘UIViewController开始交互式流行过渡UINavigationController the UIViewController在电流下方有viewWillAppear 调用 然后是UINavigationCon
  • 未安装的应用程序的URL方案

    简单的问题 我正在开发一个将注册自己的 URL 方案的应用程序 我计划通过人们最喜欢的 QRCode 阅读器使用 QRCode 启动该应用程序 我的问题 如果我的应用程序尚未安装在他们的 iPhone iPad 上 会发生什么 他们会被引导
  • UICollectionviewcell 更改背景

    如果我知道部分编号和项目编号 如何更改单元格中的背景 下面的代码显示了我如何尝试做到这一点 UICollectionViewCell collectionView UICollectionView collectionView cellFo
  • 忽略正则表达式匹配的嵌套括号内的逗号

    我有以下正则表达式 s s g这允许我匹配由逗号分隔的元素 同时忽略内部的逗号 有这个 a b c aaa bbb ccc d 我明白了 a b c aaa bbb ccc d 现在 我想升级它以考虑另一个级别的括号 我不想考虑任何级别 我
  • 为什么 "asdf".replace(/.*/g, "x") == "xx" ?

    我偶然发现了一个令人惊讶的 对我来说 事实 console log asdf replace g x Why two替代品 似乎任何没有换行符的非空字符串都会产生此模式的两个替换 使用替换函数 我可以看到第一个替换是整个字符串 第二个替换是
  • 带约束的 Swift 动画

    是否可以通过改变约束来制作 UIView 动画 基本上 我想要动画myv UIView 具有 x y 高度和宽度约束 使用 UIView animateWithDuration 1 5 通过改变旧的限制 是的 这是可能的 你可以这样做 fu
  • iOS:addConstraints:应用程序崩溃

    Problem 我似乎无法在现有项目中采用自动布局 Details 我之前也遇到过与此问题相同的问题presentViewController 在 iOS 但所提供的答案都不是我的解决方案 我正在使用所有没有 xib 的故事板视图 我的 使
  • 即时将图像添加到 AR 资源以进行图像识别

    ARKit1 5介绍图像识别 在代码中 您必须创建一组参考图像 如下所示 let referenceImages ARReferenceImage referenceImages inGroupNamed AR Resources bund
  • iOS 11 getUserMedia 不起作用?

    苹果公司发表声明称getUserMedia将在 iOS 11 上完全正常运行 安装 iOS 11 Beta 版本 5 后 我确实收到一条消息 表明我的网站请求访问我的相机和麦克风 但似乎是这样的 video src window URL c
  • 删除 .htaccess 中 URL 中各处的多组斜杠

    我目前有一个网站 访客可以访问每个网址 并使用任意数量的斜杠来分隔文件夹名称 例如 如果 URL 应该是 http example com one two three four 然后用户可以通过以下任意方式访问同一页面 http examp
  • 使正则表达式以惰性方式匹配,同时跳过一些单词

    我想要正则表达式 其中包括跳过一些单词以惰性方式匹配 例如 正则表达式 all s S 0 10 s Damages amount s S 0 10 s in s excess s of 示例文本 第 8 1 a 条规定的所有此类损害超出免
  • 使用正则表达式匹配阿拉伯文文本

    我试图使用正则表达式仅匹配阿拉伯语文本 但出现异常 这是我的代码 txt matches P Arabic 这是例外情况 线程 main 中的异常 java util regex PatternSyntaxException 索引 9 附近

随机推荐

  • C++17 多参数包扩展

    我正在尝试映射函数f元组之上t0 t1等返回元组std tuple
  • 如何在R中绘制图形?

    我可以使用以下代码获取 photo11 如何修复我的代码以将 photo1 更改为 photo2 x seq 0 5 0 9 length 200 y dnorm x 0 7 0 0458 plot x y type l xlab my x
  • 如果 python 脚本中包含 Monkeyrunner,则无法使用 raw_input

    我想在我的 python 脚本中输入一些值 我的部分代码是 import os sys subprocess shlex time from com android monkeyrunner import MonkeyRunner impo
  • Laravel 中的 VUE2 组件注册

    Laravel 5 8 和 VUE 一起工作得非常好 但是我的 app js 变得很大 例如 我有以下 app js window Vue require vue window Vue component Comp1 require com
  • 带有 Bluebeam 的 JavaScript 库

    我正在寻找一些信息 参考 示例以及如何在 Bluebeam 中使用 javascript Bluebeam表示可以参考以下AcroForm文档 https www adobe com content dam acom en devnet a
  • 使用 Angular-ui Bootstrap 设置预输入选项

    使用 typeahead 我尝试设置几个选项 这些选项可作为标准 Bootstrap 使用预输入选项 http twitter github io bootstrap javascript html typeahead 使用以下代码 我可以
  • Nasm - 按值和地址访问结构元素

    我最近开始在 NASM 程序集中编码 我的问题是我不知道如何以正确的方式访问结构元素 我已经在这个网站和谷歌上搜索了解决方案 但我看到的每个地方人们都有不同的说法 我的程序崩溃了 我感觉问题出在访问结构上 查看示例代码时 STRUC Tes
  • CoreBluetooth 无法读取固件修订字符串

    我正在尝试检索外围设备的固件修订字符串 当通过应用程序 LightBlue 询问我的外围设备时 我可以查看设备信息 其中包括 制造商名称字符串 固件修订字符串 但是 在我的代码中 我无法发现固件修订字符串的特征 我已经尝试过以下 UUID
  • 不要使用 Proguard 优化特定的类路径

    我尝试在我的 Android 应用程序中实现亚马逊应用内购买 亚马逊人文档 https developer amazon com public apis earn in app purchasing docs code obfuscatio
  • 帮助 Kohana 3 ORM 加快一点速度

    我注意到 当我开始使用它们时 Kohana 3 ORM 会为每个模型运行 显示完整列 SHOW FULL COLUMNS FROM mytable 此查询可能需要几个时钟周期才能执行 在 Kohana 分析器中 它实际上是我当前应用程序中运
  • 避免时间序列一维图中的项目标签重叠 (JFreeChart)

    我正在尝试找到生成带有标签的一维时间图的最佳策略 目前看起来是这样的 问题是 有些时间跨度几乎没有发生什么 而另一些时间跨度则密度很高 我想要实现的是扭曲时间轴以便在密集区域中标签间隔开以避免重叠 或者 我可以想象显示没有轴扭曲的实际数据点
  • JavaScript 时间戳到 Python 日期时间转换

    为了在 JavaScript 中获取时间戳 我们使用 var ts new Date getTime 将其转换为Python的正确方法是什么datetime到目前为止我使用以下代码 gt gt gt jsts 1335205804950 g
  • D 项目的 CMake 或 Waf

    我们正在寻找足够的构建工具 用于用 D 语言 使用 Qt 工具包 编写桌面 GUI 应用程序 由多个本机库组成 使用第 3 方 C lib 它必须在 Linux 本机开发 和 Mac 以及 Windows 上构建 我们可能会采用代码 块 h
  • 按照约定使用接口拦截器进行 Unity 注册会导致“[type] 不可拦截”异常

    我想将所有实现特定接口的类注册到 Unity 中WithMappings FromMatchingInterface习俗 此外 我希望使用接口拦截行为来拦截所有已注册的对象 问题是 Unity 还会注册具体类之间的映射 当解析这些类时 会抛
  • e(fx)clipse javafx的导入无法解析

    嘿 我刚刚为 eclipse 安装了 e fx clipse 插件并创建了一个新的 JavaFX 项目 问题是所有 javafx 导入都无法解析 即使库似乎位于构建路径中 以下是一些屏幕截图 可以向您展示我的意思 有人知道我做错了什么吗 通
  • 如何使用“godoc”生成 HTML 文档?

    我编写了一个小型 go 程序 我想从源代码生成独立的 HTML 文档 无需 godoc 服务器即可查看 但我找不到任何方法来实现它 如果有人可以帮助我 我将不胜感激 可以通过以下方式生成更好的形式 godoc url http localh
  • Travis-CI 跳过部署,尽管已标记“提交”

    我对 Travis CI 还很陌生 但我使用他们的文档找到了解决方法 然而 部署到 GitHub 版本对我来说不起作用 我的 travis yml文件看起来像这样 language java branches only master not
  • 窗口关闭时停止模式(Cocoa)

    我当前正在使用以下代码显示模式窗口 NSApplication sharedApplication runModalForWindow mainWindow 但是 当我关闭此窗口时 其他窗口仍然处于非活动状态 我如何运行stopModal使
  • 在哪里可以找到 MATLAB 的形式语法?

    我想编写一个词法分析器生成器 将 MATLAB 语言的基本子集转换为 C C 等 为了帮助我做到这一点 我想找到一个包含 MATLAB 形式语法的文档 花了一些时间调查这一点 Mathworks 似乎没有提供这一点 有谁知道我在哪里可以找到
  • 如何在 iOS 中验证美国或加拿大的邮政编码?

    我想知道有什么方法可以验证美国或加拿大的邮政编码吗 我尝试使用正则表达式 就像美国一样 BOOL validateZip NSString candidate NSString emailRegex 5 4 ABCEGHJKLMNPRSTV