簡體   English   中英

如何禁止特殊字符但允許在UITextField中使用亞洲/中東字符

[英]How to disallow special characters but allow Asian/Middle Eastern characters in a UITextField

我正在使用UITextField為用戶輸入用戶名,並希望限制除句點和下划線之外的特殊字符。 我最初開始使用這個SO問題解決方案 ,直到我意識到我不想僅限於字母數字字符,而且還允許亞洲和中東語言字符。 有沒有辦法讓我能夠做到這一點?

謝謝!

更新:

根據rmaddy的建議,這是我目前使用的:

- (BOOL)userNameIsAcceptable: (NSString *)userNameInputted
{
    NSCharacterSet *userNameAcceptedInput = [[NSCharacterSet alphanumericCharacterSet] invertedSet];
    NSString *filteredUserName = [[userNameInputted componentsSeparatedByCharactersInSet:userNameAcceptedInput] componentsJoinedByString:@""];
    NSLog(@"The filtered result %@", filteredUserName);

    return [userNameAcceptedInput isEqual:filteredUserName];
}

使用其他問題的解決方案,但不使用固定字母構建字符集,而是使用標准NSCharacterSet alphanumericCharacterSet

也許在循環中手動測試字符串中的unicode字符對包含你需要的unicode集的范圍? 我做了快速檢查,似乎unicode套日語字母通常密集,除了一些特殊字符 - 我在這里看了http://www.rikai.com/library/kanjitables/kanji_codes.unicode.shtml但我猜測類似也應該對其他語言有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM