[Swift]ひらがな・カタカナのみ入力を受け付ける

スポンサーリンク

Swift2のころの話です。

文字入力で、ひらがな・カタカナのみ受け付けるようにしたいと思い、調べました。
あと、追加で空白の入力は無視させたい(入力エラー扱いにしたくない)ということで調べました。

以下を参考にさせていただきました。

  • Stringクラスにひらがな・カタカナ変換をextensionする
Stringクラスにひらがな・カタカナ変換をextensionする - Qiita
ひらがな・カタカナについて"ひらがな"とは、0x3041の"ぁ"から0x3096の"ゖ"とする"カタカナ"とは、0x30A1の"ァ"から0x30F6の"ヶ"とする半角カタカナは無視コードe…

実装イメージ

extension String {
    func ChackHiraganaOrKatakana() -> Bool {
        var flaghoge:Bool = false
        // 文字列を表現するUInt32
        for c in unicodeScalars {
            if (c.value >= 0x3041 && c.value <= 0x3096) ||
               (c.value >= 0x30A1 && c.value <= 0x30F6) ||
                c.value == 0x0020 || c.value == 0xFF5A {
                // ひらがな・カタカナ・空白の場合
                flaghoge = true
            } else {
                // それ以外の場合、一文字でも対象以外の文字があった場合、抜けるようにした。
                flaghoge = false
                break
            }
        }
        return flaghoge
    }
}

"ひらがな"とは、0x3041の"ぁ"から0x3096の"ゖ"とする
"カタカナ"とは、0x30A1の"ァ"から0x30F6の"ヶ"とする
半角空白:(0x0020)、全角空白:(0xFF5A)
それ以外にも特定の文字をみる場合も、ネットで調べればいけそうですね。

公式な情報って、どこ見ればいいんだろ。。。
いずれ調べる。

コメント

タイトルとURLをコピーしました