如何检查特定类型字符的 UITextField 值,例如字母还是数字?

2024-01-20

我想要做的是,如果文本字段中包含除字母、数字、破折号和空格之外的任何内容,则将下面的 if 语句中的一些布尔值设置为 true。

然后对于电子邮件字段检查是否有有效的电子邮件。

这就是我检查长度的方式:

    if countElements(textField.text!) < 2 || countElements(textField.text) > 15 {
        errorLabel.text = "Name must have between 2 and 15 characters."
        self.signUpView.signUpButton.enabled = false
    } else {
        errorLabel.text = ""
        self.signUpView.signUpButton.enabled = true
    }

该 if 语句位于 UITextFieldDelegate 方法 textFielddidEndEditing 内。我有一种感觉,我必须使用某种形式的正则表达式来检查有效的电子邮件。

使用正则表达式检查字段仅包含我允许的字符并返回一个布尔值是否有意义,该布尔值会告诉我文本字段是否包含不允许的字符,以便我可以显示错误消息。

有什么首选方法可以做到这一点吗?在 Objective-c 中我使用了 NSCharacterSet 但不知道如何在这里实现。

谢谢你的时间


我最后就是这样做的。

    override func textFieldDidEndEditing(textField: UITextField) {

        let usernameField = self.signUpView.usernameField.text as NSString
        let alphaNumericSet = NSCharacterSet.alphanumericCharacterSet()
        let invalidCharacterSet = alphaNumericSet.invertedSet
        let rangeOfInvalidCharacters = usernameField.rangeOfCharacterFromSet(invalidCharacterSet)
        let userHasNameInvalidChars = rangeOfInvalidCharacters.location != NSNotFound

        if textField == self.signUpView.usernameField {

            if userHasNameInvalidChars {
                errorLabel.text = "Letters and numbers only please!"
                self.signUpView.signUpButton.enabled = false
                // do more error stuff here
            } else {
                self.signUpView.signUpButton.enabled = true
            }
         }
     }

感谢博文:http://toddgrooms.com/2014/06/18/unintuitive-swift/ http://toddgrooms.com/2014/06/18/unintuitive-swift/

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

如何检查特定类型字符的 UITextField 值,例如字母还是数字? 的相关文章

  • 新的 FUITableViewDataSource - 如何使用?雨燕3

    刚刚更新到较新的 FirebaseUI Pod 有些事情发生了变化 但其中最大的变化之一是 FUI 表视图的工作方式 我让它在旧版本上运行良好 但在下面遇到了困难 并且缺乏文档 示例 self dataSource FUITableView
  • Firebase 连接管理器应仅返回一个结果

    我正在关注位于以下位置的文档 https www firebase com docs ios guide offline capability html section connection state https www firebase
  • 如何等待 webViewDidFinishLoad 完成

    我有一个初始化 webView 的布尔条件 并在 webViewDidFinishLoad 中加载另一个委托 以便在完成完成后触发 但是 由于布尔值在条件 webViewDidFinishLoad 之前返回 因此页面永远不会完全加载 如何确
  • 使用 Push Transition 效果更改 RootViewcontroller

    在我的iOS应用程序中 我需要更改应用程序之间窗口的rootviewController 因此 当我动态更改我的rootviewcontroller时 它会在更改之前轻拂视图 但我想要的是在更改rootviewcontroller时提供平滑
  • 具有数组属性的 IFC 正则表达式

    IFC 是用于建筑项目的 STEP 文件的变体 IFC 包含有关正在建造的建筑物的信息 该文件基于文本 易于阅读 我正在尝试将这些信息解析为 python 字典 每行的一般格式类似于以下内容 第2334章 IFCMATERIALLAYERS
  • 使用 Vala 和 GLib 的正则表达式

    有没有一个函数 比如http php net manual en function preg match all php http php net manual en function preg match all php 使用 GLibh
  • 如何在 RestKit 中为同一类提供两条发布路线

    由于我无法弄清楚如何为同一个类设置两个不同的 POST 资源路径 因此我尝试手动创建 RKObjectLoader 请求 但它似乎不断发送 GET 请求而不是 POST 即使我已将方法设置为邮政 这是我的代码 User user User
  • iOS 开发: [[self navigationController] viewControllers]; 有哪些原因?会返回零吗?

    以下语句返回零 NSArray viewControllersInNavStack self navigationController viewControllers 这个语句是在导航堆栈中大约四层深度的视图控制器中调用的 所以我不明白它如
  • 如何在我的 iOS 项目中添加和执行 .sql 文件?

    我找到了很多关于在 iOS 中使用 SQLite 数据库的教程 但没有找到任何直接引用 sql 文件的内容 谁能告诉我如何将现有的 SQL 数据库链接到我的应用程序 编辑 这是一个 MySQL 转储 我们有一个基于浏览器的抽认卡程序 现在我
  • iOS:从非图像数据生成图像(Godus,如风景)

    所以看到图像后Godus http www kickstarter com projects 22cans project godus我想知道如何生成简单的 非交互式的 2D 图像 with 不同高度或层数的颜色不同就像下面的图片一样 我只
  • 如何使用 java.util.regex.* 执行部分匹配?

    我一直在使用 java util regex 类来实现 Java 中的正则表达式 到目前为止一切都很好 但今天我有一个不同的要求 例如 考虑模式为 aabb 现在 如果输入字符串是 aa 它肯定不匹配 但是如果我附加 bb 它仍然有可能变成
  • 在 Interface Builder 中的资产目录上使用图像

    是否可以直接在界面生成器上使用添加到资产目录中的图像 这是怎么做到的 在 UIImageView 属性上 我看不到任何引用资产目录上任何图像的选项 Import the images into the xcassets folder 单击右
  • Swift:从自定义 UITableViewCell 中的 UITextField 检索文本并将其放入数组中

    我正在制作一个非常简单的应用程序 用户在第一个屏幕中输入人数 在第二个屏幕中 它会生成一些UITableViewCell基于用户在第一个屏幕中输入的数字 这UITableViewCell have a UITextField在其中 一旦用户
  • iOS 内存警告

    我正在尝试使用从 Parse 数据库下载的图像填充集合视图 但我收到内存警告 然后偶尔崩溃 有谁知道其他应用程序如何设法呈现这么多图像而不崩溃 有人可以告诉我如何优化我已有的东西吗 这是所有相关代码 https gist github co
  • 如何从 NSString 中删除十六进制字符

    我面临一个与字符串中的某些十六进制值相关的问题 我需要从字符串中删除十六进制字符 The problem is when i print object it prints as BLANK line And in debug mode it
  • iOS 中的等宽字体是什么?

    我想要在我的 iOS 应用程序中为 UILabel 使用等宽字体 不幸的是 我找不到一个 甚至 美国打字机 实际上也不是等宽的 XCode 中可用的等宽字体是什么 iOS 等宽字体 Courier Courier Bold Courier
  • PCRE 匹配 C 中的所有组

    我想使用 PCRE C 库递归地匹配一个组 e g pattern d subject 5 6 3 2 OVECCOUNT 30 pcrePtr pcre compile pattern 0 error erroffset NULL rc
  • 在WKWebview中设置useragent

    如何在 WKWebView 中设置自定义用户代理字符串 我正在尝试嵌入我的应用程序的版本 以便我的服务器端可以看到可用的功能 我找到了以下方法 let userAgent MyApp 1 33 7 request setValue user
  • UIImage:如何获取网站选项卡图标

    我正在开发一个 RSS 阅读器 我需要获取每个提要的图标 例如 如果我的提要是 google com 我想获取 G 图标并将其放入 UIImage 或其他内容中 关于如何实现这一目标有什么想法吗 最简单的方法是使用 Google NSStr
  • 通用类不会将委托调用转发给具体子类

    鉴于以下情况 protocol EntityType var displayString String get extension String EntityType var displayString String return self

随机推荐

  • 将对象转换为 类型

    我正在实现一个类的 List 接口 该类将数据存储在
  • iOS 自定义地图、地理位置、地图绘制等

    下一张图片取自 www Trimaps com 我希望这里允许使用图片 如果不允许 请告诉我 我会立即删除 这些图像完美地解释了我想要实现的目标 我拥有所需的所有数据 所需区域 4 个角的纬度 经度 以十进制值表示 来自 Google 地图
  • Clojure:在嵌套哈希图中搜索 val 并返回包含该 val 的键序列的函数

    假设我们有一个包含嵌套数据结构的集合 def coll a aa b d dd e f h hh i ii g gg c cc 我想创建一个函数 在嵌套结构中的任何位置搜索 val 并返回包含该 val 的键序列 search parent
  • 使用 Bootstrap ScrollSpy 将 div 折叠到固定的侧边栏

    我将此代码作为页面的布局 span9 div 包含应应用滚动间谍的部分 每个部分都是一组包含实际内容的可折叠 div span3 div 是固定的侧边栏 必须使用滚动间谍突出显示正确的项目 div class span3 module si
  • iOS 配置文件在 6 天后过期

    我是 iOS 开发新手 因为我目前只为 Android 开发 我遇到了一个问题 我一直在寻找可能的解决方案 我想做一个个人 iOS 应用程序 比如个人笔记应用程序或个人提醒应用程序等 我成功了 唯一的问题是配置文件仅持续 6 天 我认为 并
  • iPhone 5屏幕尺寸VS CSS媒体查询[重复]

    这个问题在这里已经有答案了 可能的重复 iPhone 5 CSS 媒体查询 https stackoverflow com questions 12539697 iphone 5 css media query iPhone 5 技术规格规
  • 如何生成一个随机数,然后将其显示在屏幕上?

    好吧 我对 Android 相当陌生 但我已经设法自学了基础知识 我正在制作一个应用程序 您按下一个按钮 就会打开一个新屏幕 它会显示一个随机生成的数字 唯一的问题是我不知道如何生成并显示随机数 我已经在网络上搜索了很长时间 只找到了很少的
  • UITextView 偏移文本的方式与 UILabel 不同

    我在用UILabel and UI文本视图并且它们以不同的方式呈现文本 看起来UI文本视图将文本偏移 4 下面是一个例子 其中顶部是UILabel下面是UI文本视图 他们都使用相同的字体 这里有两个例子 一个是自定义的OpenSans字体和
  • 在 iOS16 中以编程方式推送 NavigationLink

    在以前的 iOS 版本中 我以编程方式推送了一个 NavigationLink NavigationLink isActive searched destination SearchView originalSearchPhrase sea
  • 是否可以设置 html5 音频标签的样式?

    我还没有找到任何关于如何做到这一点的资源 像改变播放器颜色这样简单的事情就很好了 是的 您可以隐藏内置浏览器 UI 通过删除controls属性来自audio 而是构建您自己的界面并使用 Javascript 控制播放 source htt
  • Angular 如何根据路线更改导航菜单标题

    我正在使用 Angular 4 在当前项目中开发仪表板布局 当用户在应用程序的不同部分之间导航时 我需要更新导航菜单标题标题以反映应用程序的当前部分 例如 当用户访问设置时 页面标题 应更改为 设置 该项目基于 net core 2 Ang
  • 突变残基和位置的数字编码

    我正在编写一个 python 程序 它必须计算突变残基和位置的数字编码一组字符串 这些字符串是蛋白质序列 这些序列存储在 fasta 格式文件中 每个蛋白质序列用逗号分隔 不同蛋白质的序列长度可能不同 在此我试图找到以下位置和序列 变异了
  • wordpress 在functions.php第5行中的非对象上调用成员函数add_section()

    嘿 我对 php 和 WordPress 开发有点陌生 我只是在尝试 WordPress 的工作原理以及主题的工作原理 现在我已经尝试多次查找此内容但没有帮助 总是有一些不同的东西 对那些人有用的东西 对我不起作用 这是代码
  • Android Compose 创建摇动动画

    我正在尝试在 Jetpack Compose 中制作形状的晃动动画 我想在用户输入无效的 Pin 码时使用此动画来显示错误 但我能找到的只是滑入 滑出动画和一些缩放动画 我有什么想法可以做到这一点吗 Update 在 Thracian 回答
  • 混合 Threepenny-Gui 和 StateT

    我有一个关于 Threepenny Gui 与 StateT 交互的问题 考虑这个玩具程序 每次单击按钮时 都会在列表中添加一个 Hi 项目 import Control Monad import Control Monad State i
  • 如何在 Azure 移动应用程序中实现自定义身份验证

    在Azure Mobile Apps的最新更新中 终于添加了对自定义身份验证的支持 参考 https azure microsoft com en us blog azure mobile apps november 2015 update
  • Socialauth - 您可以在重定向中使用相同的会话吗?

    我正在尝试使用社会认证 http code google com p socialauth wiki GettingStarted 使用 google facebook 等登录 我假设这里是 google 并询问其工作原理 我使用的是没有
  • 如何防止 Swagger-ui 中的 xml-wrapper 元素

    我使用的是 swagger ui 版本 2 2 8 我们现有的 API 可以生成 application json 以及 application xml 对于 json 中的单个记录结果 它会生成 person id 23 name Joh
  • 如何在 Hadoop 中序列化 Java 对象?

    对象应该实现Writable接口以便在 Hadoop 中传输时序列化 采取卢森ScoreDoc以类为例 public class ScoreDoc implements java io Serializable The score of t
  • 如何检查特定类型字符的 UITextField 值,例如字母还是数字?

    我想要做的是 如果文本字段中包含除字母 数字 破折号和空格之外的任何内容 则将下面的 if 语句中的一些布尔值设置为 true 然后对于电子邮件字段检查是否有有效的电子邮件 这就是我检查长度的方式 if countElements text