こんにちはkoheiです。
railsのポートフォリオ作成中、仮のユーザーを入力している時に自らかけたバリデーションにひっかかってしまっていた為、備忘録として残します。
今回は
つい引っかかってしまう、「カタカナの正規表現」についてです。
企業名を入力するフォームを作成し、読み仮名をカタカナで入力してもらうつもりで以下の用にバリデーションをかけました
/\A[ァ-ヴ]+\z/
氏名の読み仮名を入力するときにかけていた正規表現をそのまま流用したので問題ないはずです。
対象となる文字列は以下の通り
ァ, ア, ィ, イ, ゥ, ウ, ェ, エ, ォ, オ, カ, ガ, キ, ギ, ク, グ, ケ, ゲ, コ, ゴ, サ, ザ, シ, ジ, ス, ズ, セ, ゼ, ソ, ゾ, タ, ダ, チ, ヂ, ッ, ツ, ヅ, テ, デ, ト, ド, ナ, ニ, ヌ, ネ, ノ, ハ, バ, パ, ヒ, ビ, ピ, フ, ブ, プ, ヘ, ベ, ペ, ホ, ボ, ポ, マ, ミ, ム, メ, モ, ャ, ヤ, ュ, ユ, ョ, ヨ, ラ, リ, ル, レ, ロ, ヮ, ワ, ヰ, ヱ, ヲ, ン, ヴ
「カタカナの正規表現」として記事を掲載されている方もいたので問題ないはず!
しかし、カタカナ名のパターンを考慮するとこうすべきでした
/\A[ァ-ヴー]+\z/
「ー」が入っていなかったんですね。
〜コーポレーションなどの会社名の読み仮名を入力する際に、1つ目の正規表現では「ー」が含まれていませんでした。
まさか引っ掛かると思っていなかったため、他の機能のテストも兼ねていくつか仮の会社名を入力していた時に発覚しました。
同じように引っかかってしまった方の目にとまれば幸いです。
なお、1文字目が「ー」も可となってしまうと思うのですが、今回読み仮名と言うことで見逃してください。。。笑