我正在构建一个表单,并设法对表单中的输入进行排序。我试图做的是当一个条目输入邮政编码时,它会检查以确保它遵循预先确定的格式。 到目前为止,我已经删除了空格,制作了2个字符集,一个是数字值,一个是字母。然后检查字符串长度。如下: -
NSCharacterSet *cset = [NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"];
NSCharacterSet *nset = [NSCharacterSet characterSetWithCharactersInString:@"1234567890"];
_QuestionAnswer.text = [_QuestionAnswer.text stringByReplacingOccurrencesOfString:@" " withString:@""]; //removes the space character
if (4 < _QuestionAnswer.text.length < 8) //checks string length between 5 and 7
{
// this is where the format check should be done using cset and nset
}
NB英国邮政编码必须遵循以下任何一种示例格式: -
AA9A 9AA,
A9A 9AA,
A9 9AA,
A99 9AA,
AA9 9AA,
AA99 9AA,
其中'A'来自cset而'9'来自nset
提前谢谢。
答案 0 :(得分:1)
您可以使用正则表达式(我只是示例):
NSString *laxString = @".+@([A-Za-z0-9]+\\.)";
NSPredicate *postCodeTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", laxString];
return [postCode evaluateWithObject: postCodeTest];