検索

キーワード


目次

【PHP】PHPでの正規表現チェックについて(preg_match)

  • 公開日:2020-09-18 11:16:47
  • 最終更新日:2021-02-05 18:03:09

Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!

フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。

正規表現

正規表現とは

ある文字列に対して「○○で始まって××で終わる」や「○○または××を含む」、「□の後に○△が続く」などの複雑な検索・置換を行うパターンをチェックすることを指します。

使用例としては、郵便番号や電話番号、メールアドレスの妥当性のチェックなどによく使われ、preg_match関数を使って正規表現チェックを行います。

preg_match("/検索パターンを表す文字列/", 比較対象の文字列)

ここでは、正規表現チェックの一例を紹介します。

郵便番号

郵便番号のチェックはハイフン(-)を含む場合と、許容する場合で正規表現のパターンが変わります。

ハイフンを含む場合
/^[0-9]{3}-[0-9]{4}$/

0~9の文字が3回繰り返された後にハイフン、再び0~9の文字の4回繰り返されたかをチェックする例です。

ハイフンを許容する場合
/^(([0-9]{3}-[0-9]{4})|([0-9]{7}))$/

ハイフンを含むパターンに加え、0~9の文字が7回繰り返されたかをチェックする例です。

電話番号

/^[0-9]{2,4}-[0-9]{2,4}-[0-9]{3,4}$/

0~9の文字の繰り返しが2~4回、2~4回、3~4回繰り返されたかをチェックする例です。

この例ではハイフンを含んだパターンを紹介しています。


メールアドレス

/^[a-zA-Z0-9_.+-]+[@][a-zA-Z0-9.-]+$/

メールアドレスは正規表現を使用して厳密にチェックすることは難しいため、ある程度の簡易的チェックに留めておきましょう。

この例は、半角英数字と「_.+-」から始まる文字列を1回以上、@の後に半角英数字とドットやハイフンを含む文字列を1回以上繰り返されているかをチェックする例です。


メールアドレスとしての形であれば許容するのであれば、以下のような正規表現でも良いでしょう。

/^[^@]+@[^@]+$/

@以外の文字から始まり@と@以外の一文字以上で終わる正規表現です。

まとめ

正規表現チェックの一例を紹介してみました。

今回紹介したのはあくまで一例であり、更に厳密に設定することもできます。

正規表現の記述の仕方には正解がなく、これが一番正しいというものがないので、ケースバイケースで正規表現のパターンを変えることもあるので気を付けましょう!


【著者】

當山

主にPHPでのフレームワーク開発やWebアプリの開発に携わってきました。 得意分野はHTML5とCSSによるフロントエンド開発。

編集した記事一覧

正社員/フリーランスの方でこのようなお悩みありませんか?

  • 自分に合う案件を定期的に紹介してもらいたい
  • 週2、リモートワークなど自由な働き方をしてみたい
  • 面倒な案件探し・契約周りは任せて仕事に集中したい

そのような方はぜひ、Workteriaサイトをご利用ください!

  • 定期的にご本人に合う高額案件を紹介

  • リモートワークなど自由な働き方ができる案件多数

  • 専属エージェントが契約や請求をトータルサポート

よく読まれている記事