検証フィルタ

検証用のフィルタの一覧
ID 名前 オプション フラグ 説明
FILTER_VALIDATE_BOOLEAN "boolean" default FILTER_NULL_ON_FAILURE

"1"、"true"、"on" および "yes" の場合に TRUE、 それ以外の場合に FALSE を返します。

FILTER_NULL_ON_FAILURE が設定されている場合は、 FALSE が返されるのは "0"、"false"、"off"、"no" および "" の場合のみとなります。 boolean 以外の値については NULL を返します。

FILTER_VALIDATE_EMAIL "validate_email" default FILTER_FLAG_EMAIL_UNICODE

値が妥当な e-mail アドレスであるかどうかを検証します。

この検証は、e-mail アドレスが RFC 822 に沿った形式であるかどうかを確かめます。 ただし、コメント、空白の折り返し (whitespace folding) および ドットなしドメイン名 (dotless domain name) には対応していません。

FILTER_VALIDATE_FLOAT "float" default, decimal FILTER_FLAG_ALLOW_THOUSAND 値が float であるかどうかを検証し、成功した場合は値を float に変換します。
FILTER_VALIDATE_INT "int" default, min_range, max_range FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX 値が整数であるかどうか、オプションで指定した範囲内にあるかどうかを検証し、成功した場合は整数に変換します。
FILTER_VALIDATE_IP "validate_ip" default FILTER_FLAG_IPV4, FILTER_FLAG_IPV6, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE 値が IP アドレスであるかどうかを検証します。 オプションで IPv4 あるいは IPv6 のみの指定、 プライベートアドレスや予約済みアドレスではないことの指定もできます。
FILTER_VALIDATE_MAC "validate_mac_address" default   値が MAC アドレスであるかどうかを検証します。
FILTER_VALIDATE_REGEXP "validate_regexp" default, regexp   値が、Perl 互換の 正規表現 regexp に一致するかどうかを検証します。
FILTER_VALIDATE_URL "validate_url" default FILTER_FLAG_SCHEME_REQUIRED, FILTER_FLAG_HOST_REQUIRED, FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED 値が URL 形式である (» http://www.faqs.org/rfcs/rfc2396 に準拠している) かどうか、 オプションで、必須コンポーネントが含まれているかどうかを検証します。 妥当な URL が、HTTP プロトコル http:// を指定しているとは限りません。 つまり、その URL が期待通りのプロトコル (ssh://mailto: など) を使っているかどうか、さらなる検証が必要だということです。 この関数は、ASCII の URL のみを正しいとみなすことに注意しましょう。 国際化ドメイン名 (非 ASCII 文字を含むもの) は失敗します。

注意:

PHP 5.4.11 移行、数値 +0 および -0 はどちらも、整数としても float としても有効と見なされるようになりました (FILTER_VALIDATE_FLOATFILTER_VALIDATE_INT を使った場合)。 それより前のバージョンでは、(FILTER_VALIDATE_FLOAT を使った場合に)float としてしか有効と見なされませんでした。

オプションに default を設定すると、値が検証されなかったときに default の値を使います。

変更履歴

バージョン 説明
5.5.0 FILTER_VALIDATE_MAC が追加されました。
5.2.1 FILTER_VALIDATE_URL のデフォルトが FILTER_FLAG_SCHEME_REQUIRED および FILTER_FLAG_HOST_REQUIRED となりました。