iOS 中 UITextField 中的密码验证

2024-01-10

我有 1UITextfield我的 iPhone 应用程序中的密码。

我想通过以下验证来验证此文本字段。

  • 必须至少 10 个字符
  • 必须至少包含 1 个小写字母、1 个大写字母、1 个数字和 1 个特殊字符
  • 有效的特殊字符是 –@#$%^&+=^.*(?=.{10,})(?=.*d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$

我怎样才能限制UITextField符合以上要求?


我就是这样做的。验证应该在用户输入密码的最后完成,而不是在两者之间完成。我不会使用NSRegularExpression.

-(void)textFieldDidEndEditing:(UITextField *)textField{
   int numberofCharacters = 0;
   BOOL lowerCaseLetter,upperCaseLetter,digit,specialCharacter = 0;
   if([textField.text length] >= 10)
   {
      for (int i = 0; i < [textfield.text length]; i++) 
      {
         unichar c = [textfield.text characterAtIndex:i];
         if(!lowerCaseLetter)
         {
           lowerCaseLetter = [[NSCharacterSet lowercaseLetterCharacterSet] characterIsMember:c];
         }
         if(!upperCaseLetter)
         {
           upperCaseLetter = [[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:c];
         }
         if(!digit)
         {
            digit = [[NSCharacterSet decimalDigitCharacterSet] characterIsMember:c];
         }
         if(!specialCharacter)
         {
            specialCharacter = [[NSCharacterSet symbolCharacterSet] characterIsMember:c];
         }
      }

      if(specialCharacter && digit && lowerCaseLetter && upperCaseLetter)
      {
         //do what u want
      }
      else
      { 
         UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
                                                        message:@"Please Ensure that you have at least one lower case letter, one upper case letter, one digit and one special character"
                                                       delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];
      }

   }
   else
   {
      UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
                                                        message:@"Please Enter at least 10 password"
                                                       delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];
   }
}

希望这可以帮助...

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

iOS 中 UITextField 中的密码验证 的相关文章

  • 图像高斯模糊 - iOS 8

    我有一个移动的背景图像 我想模糊它的底部 我would只用 Photoshop 就能做到 但由于图像会移动 效果不太好 这就是我的意思 看图片底部 基本上就像底座对 iPhone 的影响一样 我使用的是 iOS 8 但不是 Swift 我根
  • UITableView 最后一个单元格被 UITabBarController 隐藏

    我面临一个奇怪的问题 我有一个UITableView在最初的UIViewController of the UITabBarController 起初一切都很好 但是当我更改选项卡并返回到第一个选项卡时 最后一个单元格UITableView
  • 如何将 UIPopoverPresentationController 的高度设置为与 UITableView 相同

    我在我的应用程序上使用 UIPopoverPresentationController 在我的 iPhone 上显示弹出窗口 使用 UIModalPresentationNone 我希望尺寸随着 UITableView 的高度而动态变化 但
  • UITableViewCell 的 viewDidAppear

    我通常使用viewDidAppear方法在视图完成出现后在视图上执行一些 UI 操作 我在各种情况下使用了此方法 它非常有用 但是 我需要在视图上进行一些 UI 更改UITableViewCell当它完成出现后 SDK中是否有任何可用的方法
  • 创建自定义 MCBrowserViewController

    有没有办法创建一个UITableView包含在中找到的相同信息MCBrowserViewController 我当前的代码只允许推送与我的应用程序设计不同的标准视图 self browserVC MCBrowserViewControlle
  • 如何在 UITableView 中显示零行的表格

    我正在动态地将内容加载到 UITableView 中 如果有数据 表格需要显示数据 如果没有数据 表格应显示普通页面 但在我的应用程序中 表格显示带有两条分隔线的普通页面 我需要删除此分隔线并显示纯白色页面 请建议 任何帮助 将不胜感激 如
  • NSCFData isRessized 崩溃?

    我目前在控制台中收到此崩溃日志 2011 08 23 19 18 40 064 App 1697 707 NSCFData isResizable unrecognized selector sent to instance 0x11f1c
  • 当数据验证失败时保留表单字段中的值

    我在弄清楚验证失败时如何保留用户数据时遇到问题 我对 PHP 有点陌生 所以我的逻辑可能会犯一些巨大的错误 目前 如果验证失败 所有字段都会被清除 并且 Post 数据也会消失 这是一些代码 假设用户输入无效电子邮件 我希望保留 名称 字段
  • 为什么performSegueWithIdentifier在viewDidLoad中不起作用?

    我试图在视图控制器上调用 viewDidLoad 后立即触发故事板转场 Segue 附加了一个标识符 当从链接到按钮或其他控件的方法内部调用时 它可以正常工作 但它在 viewDidLoad 内部不起作用 它只是默默地失败了 viewDid
  • locationOfTouch 和 numberOfTouches

    你好 我有这个识别器 设置为 2 次触摸 但它只返回一个 而不是两个 CGPoint void gestureLoad UIGestureRecognizer recognizer recognizer UITapGestureRecogn
  • 从一个模态视图无缝翻转到另一个模态视图,而不显示纯色背景

    我的 iPad 应用程序的 UI 如下 当我点击Settings按钮 我希望对话框水平翻转以显示设置对话框 我这个工作正常 但是 当对话翻转时会显示背景颜色 如你看到的 有什么办法可以让对话框翻转时不显示该颜色块吗 我希望它看起来更加无缝
  • 每 24 小时触发一次方法

    我正在尝试每天在给定时间触发一个方法 我尝试了一些方法 但我无法真正使其发挥作用 任何意见 将不胜感激 此外 如果无论应用程序是否打开它都会触发 那就更理想了 这可能吗 UI本地通知 http developer apple com lib
  • CALayer边框奇怪问题

    我正在向 CALayer 添加边框 但有一些奇怪的行为 在我应用的边框之后出现模糊边框 参见屏幕截图 这是我的代码 void configureLabel self hidden YES self textAlignment NSTextA
  • iOS:生成pdf时绘制文本时如何设置字体?

    我在ios应用程序中使用drawpdf函数生成pdf 同时调用nsobject类中的drawtext函数 它根据我指定的框架和字符串清楚地绘制文本 我的代码是 void drawText NSString textToDraw inFram
  • Objective-C NSString for 循环与characterAtIndex

    我试图逐个字符地循环遍历 NSString 但出现 EXC BAD ACCESS 错误 您知道如何正确执行此操作吗 我已经在谷歌上搜索了几个小时但无法弄清楚 这是我的代码 m self textLength self text length
  • Cocoa 应用程序菜单栏不可点击

    我正在我的可可应用程序中构建一个菜单栏 其中包含以下代码 implementation我的自定义应用程序CustomApplication void setUpMenuBar CustomApplication sharedApplicat
  • 调整 UIImage 的大小而不将其完全加载到内存中?

    我正在开发一个应用程序 用户可以在其中尝试加载非常非常大的图像 这些图像首先在表格视图中显示为缩略图 我的原始代码会在大图像上崩溃 因此我重写它以首先将图像直接下载到磁盘 是否有一种已知的方法可以调整磁盘上图像的大小 而无需通过以下方式将其
  • UIPickerView selectRow 未按预期工作

    我创建了一个UIPickerView它有两个组件 第一个组件 A 的行数固定为 13 另一个组件 B 的行数可变 具体取决于 A 中选择的行 加载时UIPickerView我调用以下命令 以便我可以在两个组件中默认选择 但是我遇到的问题是只
  • 处理 UICollectionView 中的点击手势

    由于我无法使用任何框架来创建相册 因此我尝试使用 Collection View 创建自己的相册 但我一开始就陷入困境 我的目标是将网络服务中的所有图像显示到我的集合视图中 因为所有图像都已显示 下一步是当有人点击任何单元格时 我可以在新视
  • 为什么 Objective-C 允许在方法定义末尾使用分号? [复制]

    这个问题在这里已经有答案了 可能的重复 Objective C 实现文件中方法名后面的分号 https stackoverflow com questions 5678360 semicolon after the method name

随机推荐

  • Inno Setup:多个下一步按钮

    我想在我的安装程序屏幕上有两个按钮 两个按钮最终都应该将用户带到下一个屏幕 但每个按钮都执行自己的辅助逻辑 是否可以有两个 NextButton 它们都将您带到下一个屏幕 但执行不同的代码 如果做不到这一点 有没有办法以编程方式调用 Wiz
  • 设置 Windows 文件安全性

    我的问题与大多数人相反 我正在用 C 本地生成文件 但是我want将它们标记为已阻止 因此 当用户在 Word 或 Excel 等应用程序中打开它们时 它会在 保护模式 下打开它们 I ve read http answers micros
  • R:向 ggplot2 中的分组直方图添加正态拟合

    我正在寻找最优雅的方法来将正态分布拟合叠加到分组直方图中ggplot2 我知道这个问题之前已经被问过很多次了 但是没有一个建议的选项 比如this one https stackoverflow com questions 7182556
  • 是什么原因导致“java.lang.InknownClassChangeError:vtable存根”?

    是什么原因导致 java lang InknownClassChangeError vtable存根 在我们的应用程序中 我们很少看到此错误随机弹出 到目前为止只出现两次 而且我们运行了很多次 即使重新启动应用程序 使用相同的 jvm ja
  • Flask 将变量从一个函数传递到另一个函数

    正如你所看到的代码 我想传递变量q从函数home 进入功能search app route methods GET POST def home result Mylist query all return render template i
  • DIM 在 Visual Basic 和 BASIC 中代表什么?

    什么是Dim在 Visual Basic 中代表什么 Dim 最初 在 BASIC 中 代表 Dimension 因为它用于定义数组的维度 BASIC 的最初实现是达特茅斯基础 https en wikipedia org wiki Dar
  • AWS CLI 2 无法使用 CLI 更新服务

    我在 ecs 上有一个集群 一切正常 当我使用 aws cli v 1 时 我可以使用如下命令更新我的服务aws ecs update service cluster cluster name service service name ta
  • 执行 io 时 akka jvm 线程与 os 线程

    我在该网站上进行了一些搜索 以寻求帮助理解这一点 但没有找到任何非常清晰的内容 所以我想我应该发布我的用例 看看是否有人可以提供一些线索 我有一个关于在 akka 中用于 io 操作时 jvm 线程与操作系统线程的扩展的问题 来自 akka
  • 适用于英语以外语言的 POS [重复]

    这个问题在这里已经有答案了 我对 nltk 很陌生 这使我可以根据句子的词性来标记句子 但是对于其他语言执行此操作涉及哪些步骤 import nltk sentence I m not sure tokens nltk word token
  • 在私有 github 文件夹中获取 R 文件

    我希望在私人 github 文件夹中获取一些 R 脚本 并通过 R 使其在某些环境中可用 当使用公共 github 文件夹时 这两个命令都可以完成这项工作 get URL 和 source url 来自 devtools 然而 当文件夹是私
  • NSTimer改变图像iPhone编程

    如何在iPhone编程中使用NSTimer定期更改图像 我创建一个用于加载图像的图像视图 我想在 imageview 中显示图像并使用 NSTimer 定期更改图像 我不使用 NSTimer 而是使用一组图像并对它们进行动画处理 查看文档从
  • 在cordova android项目中定义有关buildType的包名称

    如何定义关于我的 buildType 的正确包名称 我有这个命令行来构建 cordova run android device buildType beta 我有这个钩子 在准备之后 它从命令行设置 buildType fs appendF
  • 网格图的常见图例[重复]

    这个问题在这里已经有答案了 在这个可重现的示例网格图中 3 个图有 3 种填充颜色 z 显示为蓝色 col 但在第四个图中只有 1 个 col 因此 z 显示为红色 我只想展示一个常见的传说 我可以做到 但我希望 z 在所有四个图中都是蓝色
  • 如何在网站登录完成之前隐藏 WebView? [本机反应]

    我正在尝试制作一个显示网站的组件WebView然后自动填写用户信息进行登录 我通过向其中注入一些 javascript 来处理自动填充部分WebView与injectedJavascipt prop 但问题是我想隐藏WebView 登录页面
  • 在 Haskell 中实现 Iota

    Iota 是一种小得可笑的 编程语言 仅使用一个组合器 我有兴趣了解它是如何工作的 但是以我熟悉的语言查看其实现会很有帮助 我找到了一个用Scheme编写的Iota编程语言的实现 不过 我在将其翻译成 Haskell 时遇到了一些麻烦 它相
  • 错误:onActivityResult 不覆盖任何内容

    我正在用 Kotlin 为 Android 编写一个语音识别应用程序 class MainActivity AppCompatActivity public override fun onCreate savedInstanceState
  • 如何在 Android 7+ 上阻止“按住后退按钮”退出“锁定任务模式”

    我正在尝试使用 锁定任务模式 如上所述https developer android com work cosu html https developer android com work cosu html 我的目标是让单个应用程序在 信
  • Google Script GetRange 与基于列中的值的过滤器并仅选择某些列

    我有一个 35 列和 300 行的数据集 我想要获取仅包含第 30 列 名称 中某些值的行的范围 要过滤数据的名称基于活动报告表中的报告文件单元格 B6 到目前为止我尝试过这个 var report SpreadsheetApp getAc
  • 如何捕获抽屉的打开和关闭抖动?

    如何捕捉抽屉打开和关闭的颤动 原则上 必须使用两个对象来实现此目的 保存 抽屉的 DrawerController 和抽屉回调 抽屉回调应该跟踪抽屉的打开和关闭 但是讨论的代码https github com flutter flutter
  • iOS 中 UITextField 中的密码验证

    我有 1UITextfield我的 iPhone 应用程序中的密码 我想通过以下验证来验证此文本字段 必须至少 10 个字符 必须至少包含 1 个小写字母 1 个大写字母 1 个数字和 1 个特殊字符 有效的特殊字符是 10 d a z A