iOS过滤非法字符串

碰到在搜索框中过滤非法字符的问题,传统的用while循环来操作就显得太繁琐,ios 的 NSString 里有相关的方法可以解决此问题。如下:

NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@"[email protected]#$%^&*+?/="];

tempString = [[tempString componentsSeparatedByCharactersInSet: doNotWant]componentsJoinedByString: @""];

注意:不能用stringByTrimmingCharactersInSet这个方法过滤,它只能把字符串两端的非法字符过滤,但是不能把包含在字符串里的非法字符过滤掉。

当然,除了过滤操作还有判断字符串里是否有非法字符的操作,可以按如下办法进行:

NSCharacterSet *errorCharStr = [NSCharacterSet

characterSetWithCharactersInString:@"[email protected]#$%^&*+?/="];

NSRange range = (NSRange){65535,0};

range = [str rangeOfCharacterFromSet:errorCharStr];

if (range.length > 0) {

return YES;

}

如果range的length属性大于 0,则说明字符串里含有非法字符。

时间: 2024-10-12 21:44:23

iOS过滤非法字符串的相关文章

根据正则表达式过滤非法的字符串

//根据正则表达式过滤非法的字符串 + (NSString *)filterCharactor:(NSString *)str withRegexString:(NSString *)regexStr { NSError * error = nil; NSRegularExpression * expression = [NSRegularExpression regularExpressionWithPattern:regexStr options:NSRegularExpressionCas

用户输入一个字符串,如果以a结尾,则认为是合法字符串,否则为非法字符串,提示用户重新输入

import java.util.Scanner; /** * */ /** * Homework14 * * @Description:用户输入一个字符串,如果以a结尾,则认为是合法字符串,否则为非法字符串,提示用户重新输入. Test04 * * @author * * email: [email protected] 2017年4月21日上午12:27:02 * */public class Test04 { public static void main(String[] args) {

PHP 一个可以过滤非法脚本的函数

这里提供一个过滤非法脚本的函数: function RemoveXSS($val) { // remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed // this prevents some character re-spacing such as <java\0script> // note that you have to handle splits with \n, \r, and \t

iOS中ASCII字符串转UTF8格式

iOS中ASCII字符串转UTF8格式,可调用下面这个方法: -(NSString *)gb2312toutf8:(NSData *) data { NSStringEncoding enc =             CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); NSString *retStr = [[NSString alloc] initWithData:data encoding:e

iOS 7 计算字符串高度

- (float)width:(NSString *)str font:(UIFont *)font { NSDictionary *attribute = @{NSFontAttributeName:font}; CGSize size = [str boundingRectWithSize:CGSizeMake(_bgView.frame.size.width - 2*MARGIN_TOP, CGFLOAT_MAX) options: NSStringDrawingTruncatesLast

在ASP.NET中过滤HTML字符串总结

先记下来,以作备用! C#代码   ///   <summary>去除HTML标记 /// ///   </summary> ///   <param name="Htmlstring">包括HTML的源码</param> ///   <returns>已经去除后的文字</returns> public static string GetNoHTMLString(string Htmlstring) { //删除脚

ios除去可变字符串中的某些字符

//除去字符串中的"[email protected]" NSMutableString *str = [[NSMutableString alloc]initWithFormat:@"[email protected]@lgkokge"]; while ([str rangeOfString:@"[email protected]"].length>0) { [str deleteCharactersInRange:[str rangeO

判断非法字符串的类方法,与jsp

private String_do_judge judge; if (judge.isContain(key)) { return "feifa"; } 上面这写代码添加到进入action会进入的方法里面. java: package domain.service; /** * * @date 2015年9月22日 13:29:46 * @author yangk 此方法用作判断非法字符串 */ public class String_do_judge { public static

过滤非法字符和发送邮件

1 过滤非法字符和发送邮件 2 1:关于过滤非法字符 3 ********************************************过滤非法字符*********************************************************************************** 4 protected string FilterBadWords(string msg) 5 { 6 string badwords="妈妈的|我靠|操|fuck|sb|b