Google フォームで正規表現が重要なわけ

はじめに

フォームを作成するときに、
・簡単に作成できる
・早く実装できる
の理由でGoogleフォームを活用するケースが増えていると思います。
ここで、収集したデータをより有効に活用するために重要な設定を紹介したいと思います。
フォームの作り方によって、後の手間が大きく変わるので、運用に役立てていただけると幸いです。

結論

収集したデータの形式を統一することで、2次利用しやすくなる。

正規表現による入力制御

正規表現の設定による入力制御にフォーカスして説明します。
例えば、郵便番号を入力するフォームを作成したとします。
この場合、000-0000、0000000、あるいは000ー0000によって収集するデータの形式が異なります。
集めたデータはGoogleスプレッドシートに保存することが出来るのですが、さらに顧客管理ツールなど、別の仕組みに連携することができます。しかし、郵便番号の例のように保存したデータの形式がバラバラだとうまく連携できず、手作業で修正するなど手間が発生します。
データを集める時点で「どのような形式」でデータを集めたいか?を意識し、フォームで入力制御の設定を事前にしておく必要があります。
ここで正規表現を利用できます。
正規表現の構文 Google説明
実際に作成しながら説明したいと思います。
それでは早速始めます。
名前、参加の可否、メールアドレス、郵便番号、住所、生年月日、メモ
のデータを収集するためにフォームを作成します。
新しいフォームを作成します。
フォームの名前、説明を入力して、質問を「名前」にし、記述式に変更します。
自動的に記述式テキスト(短文回答)になります。
つづいて、質問を追加を選択し、参加の可否を作成します。

メールアドレス、郵便番号、住所、生年月日、メモを追加していきます。

参加の可否は、参加、不参加と「その他」を追加で自由にコメントを入れることができるように設定してみました。

メールアドレスは、質問の名称をメールアドレスと入力すると自動で記述式に設定されます。

この状態で右下にある三点リーダーを選択します。
回答の検証を選択。

テキストを選択。

メールアドレスを選択。

プレビューで確認します。

メールアドレスでないデータを登録するとエラーとなり、次に進めなくなります。
このように、回答の検証を設定することで、入力するデータを指定することが出来るようになります。
今回の説明で最も大切な部分になります。

続いて、再度編集にもどり質問に郵便番号を入力します。

こちらも三点リーダーから回答の検証を選択し、数値となっているところを選択します。
しかし、郵便番号といった設定がありません。
郵便番号の形式で入力してもらいたいので、細かい指定をすることが出来る正規表現を選択して設定していきます。

正規表現(せいきひょうげん、英: regular expression)は、文字列の集合を一つの文字列で表現する方法の一つである。正則表現(せいそくひょうげん)とも呼ばれ、形式言語理論の分野では比較的こちらの訳語の方が使われる。まれに正規式と呼ばれることもある。出典:Wikipedia(https://ja.wikipedia.org/wiki/正規表現)

 

郵便番号を半角7桁でハイフンありのデータ形式で収集したい場合、
^d{3}-d{4}$
のように入力します。
行の先頭が一致、3桁数字、ハイフン、4桁、行の末尾が一致の正規表現になります。
エラーメッセージも入力しておきます。

ちなみに、ハイフンが無くてもOKにするには、^d{3}-?d{4}$にします。

ハイフンの後ろに?を入れます。
直前文字省略可能という意味になります。
今回仕上げたデモフォームはこちら

よく利用する正規表現一覧

半角

^[ァ-ン゙゚ヲA-Za-z0-9_ -]+$

半角カナ

^[ァ-ン゙゚ ]+$ 行の先頭が一致、半角カナ文字、行の末尾が一致

半角アルファベット(小文字)

^[a-z]+$

半角アルファベット(大文字・小文字)

^[a-zA-Z]+$

全角ひらがな

^[ぁ-ん]+$

全角カタカナ

^([ァ-ン]|ー)+$

数値全角

^[0-9]+$

数値半角

^[0-9]+$

数値全角・半角

^[0-90-9]+$

郵便番号

^d{3}-d{4}$ 行の先頭が一致、3桁数字、ハイフン、4桁数字、行の末尾が一致
^d{7}$ 7桁数字 ハイフン無し

携帯電話の番号

d{3}-d{4}-d{4} 3桁数字、ハイフン、4桁数字、ハイフン、4桁数字
0d0-d{4}-d{4} 0、1桁数字、0、ハイフン、4桁数字、ハイフン、4桁数字

50〜100字の文字列 (改行NG)

^.{50,100}$

カラーコード

^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$

コメント

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