某アプリにクレジットカード決済をつける際に、カード名義人入力欄で全角入力をはじく必要があり、ググってみたところ意外と「全角文字と半角文字を判定する方法」はあんまり出てこなかったのでこちらに書いておきます。 (全角→半角の変換の話はいっぱい出てきた) 結論として、下記コードのように、 「1文字ずつURLエンコードし、文字列長が4以上だったら全角文字と判定する」 という方法でうまくいきました。 /* URLエンコード */ -(NSString *)stringByURLEncoding:(NSStringEncoding)encoding { NSArray *escapeChars = [NSArray arrayWithObjects: @";" ,@"/" ,@"?" ,@":" ,@"@" ,@"&" ,@"=" ,@"+" ,@"$" ,@"," ,@"[" ,@"]" ,@"#"