ASCII文字セットのみをサポートする従来のデータベース列があります。非ASCII文字が入力されたり、UITextViewにペーストされたりするのを防ぐメソッドが必要です。私はemojisと他のすべてのユニコード文字をフィルタリングする必要があります。非ASCII文字がUITextViewでキャプチャされないようにする
0
A
答えて
3
これには2つの部分があります。まず、適切なキーボードの種類を設定することにより、最初の場所で入力されることから、非ASCII文字を防ぐ:
textView.keyboardType = UIKeyboardTypeASCIICapable;
第二に、このデリゲートメソッドを実装することで、他のアプリからで貼り付けされている非ASCII文字防ぐ:
を- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
// trim any non-ASCII characters
NSString* s = [[text componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithRange:NSMakeRange(0, 128)].invertedSet] componentsJoinedByString:@""];
// manually replace the range in the textView
textView.text = [textView.text stringByReplacingCharactersInRange:range withString:s];
// prevent auto-replacement
return NO;
}
0
これは私がUITextFieldに使用しているもので、これは別の解決策です。これはデフォルトでもカスタムキーボードでも機能し、emojisのコピー貼り付けを無効にします。キーボードタイプをasciiに設定する必要はありません。デフォルトのiOSキーボードの絵文字を無効にするだけです。
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool
{
//This is universal solution works on default as well as custom keyboards like SwiftKeyplus it will diallow pasting emoji
if !string.canBeConvertedToEncoding(NSASCIIStringEncoding)
{
return false
}
return true
}
関連する問題
- 1. 非ASCII文字列がカラムに書き込まれないようにする
- 2. UTF8でエンコードされた非ASCII文字をPerlでASCII同等の文字に変換するにはどうすればよいですか?
- 3. wxStyledTextCtrl非ASCII文字
- 4. UITextViewの値が文字列に変換されない
- 5. fopen非ascii文字エラー
- 6. URLの非ASCII文字
- 7. Cの非ASCII文字
- 8. ハッシュ非ASCII文字をC#
- 9. python3でエンコードされていないテキストを非ASCII文字でスキップするのがベストプラクティスですか?
- 10. どのように文字列から非ASCII文字を削除 - #
- 11. 非ASCII文字を許可する(ツイッターのような)ハッシュタグの正規表現
- 12. IO操作で非ASCII文字を処理するにはどうすればよいですか?
- 13. keydown()がドキュメントバインディングでキャプチャされないようにする
- 14. 非ASCII文字をホスト名で
- 15. scanf( "%s")に非ASCII文字を入力
- 16. C++ 11 - Unicode文字列 - 非ASCIIベースの文字が含まれているかどうかを調べる
- 17. ASCII文字をASCIIのint値に変換するにはどうすればよいですか?
- 18. フィールドが非ASCII文字で終了するMySQL LOAD DATA INFILE
- 19. 応答が遅いSYBASEでのUnicode(非ASCII)文字を照会
- 20. 非ASCII文字で終了すると入力フィールドのラベルが表示されない
- 21. 文字列内の非ASCII文字を検出する
- 22. ブタのラテン文字列の非ASCII文字を削除する
- 23. エンコードURI(スペースなど)、エンコード非ASCII文字のない
- 24. は、.NET、私はそれでいくつかの非印字可能なASCII文字の文字列、のようなものを持っている
- 25. echoを使用して非ASCII文字を書き込むにはどうすればよいですか?
- 26. Ren'Py関数で非ASCII文字を使用するには
- 27. bashツールで非ASCII文字を検索するには?
- 28. Pythonのreportlabで非ASCII文字をpdfに挿入する
- 29. 文字列が印刷されないようにする
- 30. 絵文字が表示されないようにする