【发布时间】:2014-04-11 11:23:48
【问题描述】:
我有一个注册视图控制器,用户需要在其中输入电子邮件地址、用户名和密码。
对于用户名和密码字段,您现在可以使用“user%$&”这样的用户名和“password%^&$”这样的密码进行注册。我不希望人们能够使用这些特殊字符。
我想让用户名和密码字段只能使用字母数字字符(即字母和数字)提交。我找到了一些方法来做到这一点,但它们令人困惑,我需要它来专门处理我的代码。
这是我在用户输入电子邮件、用户名和密码并按下提交按钮时执行的一些代码:
NSString *user = [_usernameEntry text];
NSString *pass = [_passwordEntry text];
NSString *email = [_emailEntry text];
self.userSubmittedUsername = user;
if ([user length] < 4 || [pass length] < 4) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Invalid Entry" message:@"Username and Password must both be at least 4 characters long." delegate:self cancelButtonTitle:@"Okay" otherButtonTitles:nil];
[alert show];
} else if ([email length] < 8) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Invalid Entry" message:@"Please enter your email address." delegate:self cancelButtonTitle:@"Okay" otherButtonTitles:nil];
[alert show];
} else {
我只想在上面的代码中添加另一个else if,并让它在有任何不是字母或数字的字符时显示警报视图。
谢谢。
【问题讨论】:
-
请不要将您的密码限制在如此有限的字符中。让用户输入安全密码。
-
为什么不在数据录入时过滤无效字符呢?防止文本字段委托方法
textField:shouldChangeCharactersInRange:replacementString:中出现无效字符。 -
rmaddy 感谢您的评论,我刚刚度过了一个“啊哈”的时刻。我今天使用的一个应用程序在键盘上有 @ 符号,但如果你点击它,它并没有向 UITextField 添加任何内容。这是您在第二条评论中所说的吗?如果是,请在代码中发布您的解决方案,我会立即实施。谢谢!
标签: ios iphone objective-c if-statement uitextfield