スキップしてメイン コンテンツに移動

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桁数字
0\d0-\d{4}-\d{4} 0、1桁数字、0、ハイフン、4桁数字、ハイフン、4桁数字

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

^.{50,100}$

カラーコード

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

コメント

このブログの人気の投稿

Google Workspaceのアカウントを個人スマホに追加して使おうとしたらアプリが使えないときの対処方法

はじめに 個人デバイスで仕事で利用しているGoogleWorkspaceを利用する場合、Androidスマホだとユーザーを別途用意してスマホにサインインするように運用したほうがセキュリティ上安全な場合があります。 ユーザー追加が終わり、アプリを利用しようとしたときにデータがスマホに同期されない原因の一つに、管理コンソール上の設定があります。 仕事用プロファイルを追加できません。 このデバイスには仕事用プロファイルを追加できません。ご不明な点がある場合は、IT管理者にお問い合わせください。 というメッセージが表示され、Gメールなどのアプリに情報が同期されず利用できないときの対処法を紹介します。 前提条件として、デバイスで仕事用プロファイルの設定が求められるといったケースです。 原因 管理コンソール上の端末管理設定が「詳細」になっているから。 解決策 モバイル管理の設定を「詳細」から「標準」に変更する。 「詳細」が選択されている場合は、Google Workspace のアカウントを利用時に仕事用プロファイルの設定が必須であり、より細かな制御が可能となります。 「標準」の設定であれば、細かな制御はできなくなってしまいますが、仕事用プロファイルの設定なくアカウント追加が可能になります。 手順 1.管理者アカウントで Google Admin にアクセス 2.デバイス>モバイルとエンドポイント>設定>一般設定>全般 3.全般>モバイル管理>標準(エージェント不要)に変更 ダウングレードの文字が出る場合があるが、OKで設定が適用されます。24時間反映にかかる場合があるみたいです。 4.既に個人のスマートフォンの [ 設定 ] > [ アカウント ] の欄に該当アカウントが存在している場合は、一度ログアウトさせてから再追加 まとめ BYODなどで、個人デバイスを業務利用するシーンが増えてきていると思います。 管理者に確認し、適切なセキュリティ運用を心がけてください。

GoogleアカウントだけでWEBアプリを作る方法。〜作成代行してもらったAppSheetを受け取る編

 はじめに Googleアカウントを持っていれば、Googleスプレッドシートをデータベースとしてアプリを作ることができるAppSheet。しかも、グーグルストアやアップルストアに登録する必要がなく、スマホ、タブレット、パソコンなど、色々なデバイスで利用可能な自分だけのアプリが作成可能です。 簡単にアプリを作ることが出来る ので手軽に始めることができるAppSheet。 ところが、このAppSheet。作りこみ次第ではデータからPDFを自動で作成し、指定のメールアドレスに一斉配信など、会社の 基幹システムレベルの構築が可能 であり、かなり奥の深いサービスだったりします。 作りこみを委託するケースも今後増えるんじゃないか?と思ったので、今回は 作成を代行してもらう方法 を紹介したいと思います。 手順 代行者側 Googleスプレッドシートでデータ作成 AppSheetでデータソースを紐付ける AppSheetの共同編集者に依頼者を設定する AppSheetのUsersからUser emailsに依頼者のGoogleアカウントを入力し、 私はロボットではありません をチェックします。 登録したユーザーの設定をします。 Can edit definition 、 Role:Admin、App version: Defaultにします。 Linksタブから、 アプリのURLをコピー して依頼者に共有します。 念の為、SAVEを忘れずしておきましょう。 URL共有時のメール例文 --- ○○さま お世話になっております。 アプリを作成したのでURLを送付いたします。 設定させていただいたGoogleアカウントによりアクセス可能です。 ご確認よろしくお願いいたします。 AppSheet https://www.appsheet.com/template/Apps アプリインストール用URL https://www.appsheet.com/newshortcut/○○○ ブラウザ利用におけるURL https://www.appsheet.com/start/○○○ 参考 GoogleアカウントだけでWEBアプリを作る方法。〜作成代行してもらったAppSheetを受け取る編 (goog-life.blogspot.com) --- 依頼者側 メールが届いたら、AppSheet

リビングの環境監視ダッシュボードを60分で作る方法をQiitaに投稿してから数年たった今のお話。

 数年前に、 Nature Remo を利用してリビングの環境監視する仕組みを作りました。たくさんの方から作り方を教えてほしいとの要望があったので、 Qiita に投稿したところ、Twitterで注目していただき、さらにNature株式会社公式ブログ( https://nature.global/blog/1072/#title1 )でも紹介していただき感動です。 その後もどうにか稼働しているので、その様子を少し紹介してみたいと思います。 リビングの環境監視ダッシュボードを60分で作る方法(Nature Remo Cloud APIとGoogleサービス連携) アップデート 1.複数台運用 寝室用にもう1台Nature Remoを購入したので、複数の部屋の環境を可視化してみました。 複数台のNature Remoを利用する方法については、mumunus様にコメントいただきました。本当に感謝です。 https://qiita.com/t-chi/items/01b9a9b98fbccef880c3#comment-5c5e624fb37745493b84 複数台運用では、データソースを部屋ごとに分けて運用することにしました。任意に振られた番号[0]、[1]・・・で指定することで、Googleスプレッドシートごとに運用できるみたいです。 ※セルの上限制約を意識して、今回は端末ごとにシートを分けて作成してみました。 2.職場のサーバー室の環境監視 小規模な職場に勤めているのですが、停電により空調が止まってしまい、サーバー室の温度が一気に上がりネットワーク機器が故障の危機に陥ったことがありました。 サーバー類はUPS(無停電電源装置)によりシャットダウンを防ぐことができるのですが、夜中に停電したりするとエアコンが切れてしまい、朝には高価なサーバー機器が故障している。なんてことになれば組織にとって大きな損失となってしまいます。 そこで、プライベートで実装した仕組みを活かして、サーバー室にNature Remoを設置して環境監視をすることにしました。 さらに、一定温度以上になれば、管理職と担当、副担当に自動でメールが発出する仕組みを構築しました。 簡易な仕組みですが、無料で運用できるため今まで何もなかったことからすれば一定の保険になるかと思います。 エラー発生の原因 数年にわた