20141015個人日誌(判斷字符串中是否含有非法字符及非法字符串過濾的問題)

     碰到在搜索框中過濾非法字符的問題,傳統的用while循環來操作就顯得太繁瑣,ios 的 NSString 裏有相關的方法可以解決此問題。如下:

     NSCharacterSet *doNotWant = [NSCharacterSet characterSetWithCharactersInString:@"~!@#$%^&*+?/="];
    tempString = [[tempString componentsSeparatedByCharactersInSet: doNotWant]componentsJoinedByString@""];

     注意:不能用stringByTrimmingCharactersInSet這個方法過濾,它只能把字符串兩端的非法字符過濾,但是不能把包含在字符串裏的非法字符過濾掉。

     當然,除了過濾操作還有判斷字符串裏是否有非法字符的操作,可以按如下辦法進行:

 

     NSCharacterSet *errorCharStr = [NSCharacterSet           

                                       characterSetWithCharactersInString:@"~!@#$%^&*+?/="];

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

     range = [str rangeOfCharacterFromSet:errorCharStr];

     if (range.length > 0) {

         return YES;

     }

     如果range的length屬性大於 0,則說明字符串裏含有非法字符。


發佈了33 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章