こんにちは、あおいです。
PL-400の資格勉強中。頑張れ、自分。やれ、自分。
さて、Power Appsで電話番号や郵便番号などの入力値をチェックしたい場合があります。IsMatch関数で正規表現を指定することで実現可能です。しかし、市民開発者の方にとって正規表現はそもそも分かりづらかったり、使い方が身に付かなかったりします。
正規表現については以下のサイトが初心者でも分かりやすく解説されていますのでご参照ください。
正規表現 | Let'sプログラミング
初心者歓迎!手と目で覚える正規表現入門 - Qiita
正規表現の動作チェックについては以下のサイトがおすすめです。
正規表現チェッカー | WWWクリエイターズ
正規表現チェッカー - WEB ARCH LABO Tools | WEB開発サポートツール
そこで、今回はPower AppsのIsMatch関数で使用する正規表現まとめを紹介させていただきます。実際に、入力値チェックで正規表現を使おうとしてあれこれ調べるのが面倒臭かったので、備忘録としてこの記事に使用頻度の高い正規表現をまとめておきます。
以下のように正規表現はIsMatch関数の第2引数で指定します。
ひらがなのみ
^[\u3040-\u309F]+$
全角カタカナのみ
^[\u30a0-\u30ff]+$
半角カタカナのみ
^[\uFF61-\uFF9F]+$
半角数字のみ
^[0-9]+$
半角数字、桁数指定
^[0-9]{5}$ // {}内に桁指定
半角英数字のみ
^[0-9a-zA-Z]+$
全角英数字のみ
^[0-9a-zA-Z]+$
半角英数字記号のみ
^[0-9a-zA-Z!-/:-@¥[-`{-~]+$
全角英数字記号のみ
^[0-9a-zA-Z!"#$%&'()=~|'{+*}<>?_-^¥@「;:」、。・; ー]+$
記号を含まない
^(?:[^\p{P}\p{S}])*$
郵便番号(ハイフンあり)
\d{3}-\d{4}
郵便番号(ハイフンなし)
\d{7}
電話番号
0(\d{1}-\d{4}|\d{2}-\d{3}|\d{3}-\d{2}|\d{4}-\d{1})-\d{4}
携帯電話
0[5789]0-\d{4}-\d{4}
メールアドレス(RFC準拠を考慮)
^([\w!#$%&'*+\-\/=?^`{|}~]+(\.[\w!#$%&'*+\-\/=?^`{|}~]+)*|" & Char(34) &"([\w!#$%&'*+\-\/=?^`{|}~. ()<>\[\]:;@,]|\\[\\" & Char(34) &"])+" & Char(34) &")@(([a-zA-Z\d\-]+\.)+[a-zA-Z]+|\[(\d{1,3}(\.\d{1,3}){3}|IPv6:[\da-fA-F]{0,4}(:[\da-fA-F]{0,4}){1,5}(:\d{1,3}(\.\d{1,3}){3}|(:[\da-fA-F]{0,4}){0,2}))\])$
URL(HTTP、HTTPS)
^(https?|ftp)(:\/\/[\w\/:%#\$&\?\(\)~\.=\+\-]+)
パスワード(少なくとも1文字以上の小文字、大文字、半角数字、記号を含む8文字以上)
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!-/:-@\\[-`{-~])[!-~]{8,}$
今回はPower AppsのIsMatch関数で使用する正規表現まとめを紹介させていただきました。本記事で紹介した電話番号や携帯電話などの正規表現は例外パターンまで網羅していないのでご注意ください。本記事が少しでも読者の皆様のお役に立てれば幸いです。
参考記事
Power AppsでのIsMatch、Match、およびMatchAll関数 - Power Platform | Microsoft Learn
Power Apps IsMatch関数で正規表現を使った簡単入力値チェック | 仕事のあれこれ
【Power Apps Tip's】正規表現と定義済みパターン - Qiita