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

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

以下を参考にさせていただきました。
Stringクラスにひらがな・カタカナ変換をextensionする

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)

それ以外にも特定の文字をみる場合は、以下のようなサイトから合うものを調べればいけそうですね。
文字(Unicode)一覧

a

スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク