PHP regex: ^ and $ vs \A and \z

When tempted to do this:


$name = "joe";
if (preg_match('/^[a-zA-Z]+$/', $name) {
}


Chances are, you probably want use this instead:


if (preg_match('/\A[a-zA-Z]+\z/', $name) {
}


Why?

Use of ^ is OK, but $ matches line break characters.
So,


$name = "joe¥n";
if (preg_match('/^[a-zA-Z]+$/', $name) {
echo "match!";
}


Will display "match!" - which is probably something you don't want.
#php

ワオ!と言っているユーザー

×
  • ブログルメンバーの方は下記のページからログインをお願いいたします。
    ログイン
  • まだブログルのメンバーでない方は下記のページから登録をお願いいたします。
    新規ユーザー登録へ
コメントの投稿にはメンバー登録が必要です。
ブログルメンバーの方は下記のページからログインをお願いいたします。
ログイン
まだブログルのメンバーでない方は下記のページから登録をお願いいたします。
新規ユーザー登録へ