在iPhone上检查键盘输入是否兼容ASCII

时间:2011-09-19 09:03:39

标签: iphone nsstring locale non-ascii-characters

当用户点击键盘时,我需要知道输入符号是否属于ASCII调色板,否则将其剥离。

所以我需要做什么

-(BOOL) textField: (UITextField*) textField shouldChangeCharactersInRange: (NSRange) range replacementString: (NSString*) string

检查输入字符的方法?

目前,当用户输入(例如)俄语时,我从输入字符串中获取ASCII字符:

const char* want_strip_not_ascii_chars = [string UTF8string];

1 个答案:

答案 0 :(得分:1)

以下内容将为您提供所需内容:

-(BOOL) textField: (UITextField*) textField shouldChangeCharactersInRange: (NSRange) range replacementString: (NSString*) string
{
    return [string canBeConvertedToEncoding:NSASCIIStringEncoding];
}

虽然请注意,这会阻止使用非ASCII键盘的用户使用您的字段。