【发布时间】:2015-03-18 10:43:39
【问题描述】:
密码验证,一切正常,但它也允许空格,如何限制那个,输入密码后它不会删除它。我的密码长度是 8 个字符,它只允许 8 或 4 个字符,但它不接受 5 到 7 个字符。这是我的代码。请检查一次。提前致谢。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if([passwrd.text length] < 8)
return YES;
else
return NO;
}
-(void)textFieldDidEndEditing:(UITextField *)textField{
//int numberofCharacters = 0;
BOOL lowerCaseLetter = '\0',upperCaseLetter = '\0',digit = '\0',specialCharacter = 0;
if([passwrd.text length] >= 8)
{
for (int i = 0; i < [passwrd.text length]; i++)
{
unichar c = [passwrd.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 && [[NSCharacterSet punctuationCharacterSet] characterIsMember:c]) {
specialCharacter = YES;
}
}
if(specialCharacter && digit && lowerCaseLetter && upperCaseLetter)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Success"
message:@"Successfully Created Password"
delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}
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 Only 8 Characters"
delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[passwrd resignFirstResponder];
return YES;
}
【问题讨论】:
-
您想限制密码字段中的空格输入吗?
-
这可能会有所帮助:stackoverflow.com/questions/8238691/… 此外,如果您想在密码文本字段中禁用空格键:(1) codeproject.com/Questions/46575/… (2) stackoverflow.com/questions/1304321/…
-
aksh1t ,是的,我想要限制进入。假设这是密码:Apple_ 9.
-
它不允许 aksh1t。
标签: ios