Objective c 如何检查UITextField中的文本是否与特定模式匹配?
我有一个UITextField,当用户键入时,我需要检查他们在textfield中输入的文本是否与特定模式匹配 更具体地说,我需要文本匹配模式Objective c 如何检查UITextField中的文本是否与特定模式匹配?,objective-c,ios,regex,Objective C,Ios,Regex,我有一个UITextField,当用户键入时,我需要检查他们在textfield中输入的文本是否与特定模式匹配 更具体地说,我需要文本匹配模式######-##-##,其中#是任何数字0-9,-是破折号(请注意,这不是电话号码或电子邮件)。例如,条目1990-12-09匹配,1990:12:09不匹配,1990-12匹配,因为它尚未违反模式(即使文本尚未完全匹配模式) 我应该如何处理这个问题?理想情况下,我不必在一系列if语句中硬编码 困难在于,当用户键入时,我想检查textfield中的文本是
######-##-##
,其中#
是任何数字0-9,-
是破折号(请注意,这不是电话号码或电子邮件)。例如,条目1990-12-09
匹配,1990:12:09
不匹配,1990-12
匹配,因为它尚未违反模式(即使文本尚未完全匹配模式)
我应该如何处理这个问题?理想情况下,我不必在一系列if语句中硬编码
困难在于,当用户键入时,我想检查textfield中的文本是否与此模式匹配。我不想在最后检查它
我认为正则表达式可能是解决问题的方法,但我对正则表达式没有足够的经验,不知道它们是否能解决问题。您可以将键盘类型设置为
myTextField.keyboardType=UIKeyboardTypeNumberPad
,这就是您限制输入类型的原因
然后,这篇文章应该可以帮助回答您的格式问题:可以编写一个与整个内容匹配的正则表达式,但是最好根据
-
对输入进行标记,然后使用正则表达式检查每个标记。为什么不让用户根据需要动态地输入数字呢。