问题描述
今天,接到测试妹子反馈的问题,说输入框中输入一个空格也可以提交,
这是一个bug。
我想说
空格也是字符啦,它的ASCII码是20H,用十进制表示就是32,,,,
然后,然后 ..... 其实我就是想找测试妹子聊会天
👇代码可以解决问题
-(BOOL)isEmptyOrWhitespace {
NSCharacterSet* whitespace = [NSCharacterSet whitespaceAndNewlineCharacterSet];
return [self stringByTrimmingCharactersInSet:whitespace].length == 0;
}
在ios中可以使用stringByTrimmingCharactersInSet函数过滤字符串中的特殊符号
代码解释
- 自己定义一个NSCharacterSet, 包含需要去除的特殊符号
NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"@/:;()¥「」"、[]{}#%-*+=_\\|~<>$€^•'@#$%^&*()_+'\""];
由于NSString中有全角符号和半角符号, 因此有些符号要包括全角和半角的
2.调用stringByTrimmingCharactersInSet
NSString *trimmedString = [string stringByTrimmingCharactersInSet:set];
trimmedString就是过滤后的字符串