ホームページ  >  記事  >  バックエンド開発  >  特殊文字を検証するための PHP 正規表現方法

特殊文字を検証するための PHP 正規表現方法

王林
王林オリジナル
2023-06-24 12:05:172327ブラウズ

インターネットの急速な発展に伴い、ますます多くの Web サイトが登場しました。これらの Web サイトの開発過程では、正規表現がますます使用されます。たとえば、ユーザーが登録ページでユーザー名、パスワード、その他の機密情報を入力する場合、入力されたデータのセキュリティを確保するために、開発者は通常、正規表現を使用してデータの正当性を確認します。この記事では、開発者がユーザー データのセキュリティをより適切に保護できるように、PHP 正規表現を使用して特殊文字を検証する方法に焦点を当てます。

  1. 正規表現とは何ですか?

正規表現は、テキスト文字列と一致するために使用される式です。これはテキストと特殊文字で構成されており、文字列が特定のパターンに一致するかどうかを確認するために使用できます。 PHP は一般的なサーバーサイド言語として、正規表現を使用した強力な文字列処理機能を提供します。 PHP の正規表現は通常、「/pattern/」のように 2 つのスラッシュで囲まれます。

  1. 特殊文字コードを検証するための PHP の正規表現

以下は、入力文字列に特殊文字が含まれているかどうかを検証するための PHP のコードです:

function check_special_chars($str) {
    if(preg_match('/[^a-zA-Z0-9_]/', $str)) {
        return false;
    }
    return true;
}

上記のコードでは、preg_match() 関数を使用して、文字列が指定された正規表現と一致するかどうかを確認します。正規表現「/1/」は、関数が一致する必要がある文字のセットを指定します。「^」は非を意味し、a~z、A に一致しないことを意味します。 ~Z、または 0 ~9 とアンダースコア (_) を除くすべての文字。入力文字列にこれらの文字のいずれかが含まれている場合、関数は false を返し、それ以外の場合は true を返します。

  1. PHP の正規表現検証関数

preg_match() 関数に加えて、PHP では、次の表に示すように、他のいくつかの正規表現検証関数も提供しています。

#関数説明##preg_match()preg_replace()preg_split( )preg_quote() preg_grep()preg_last_error()これらの関数には独自の使用方法やパラメータがありますので、詳しくはPHPの公式ドキュメントや関連書籍を参照してください。
実行正規表現一致
正規表現検索を実行し、置換を実行します
正規表現によって文字列を配列に分割する
正規表現文字をエスケープする
正規表現に一致する配列内の要素を返します
最後のエラー コードを返します。 PCRE 定期実行

正規表現を使用してユーザー名、パスワード、その他のフィールドを検証する
  1. 次の例は、正規表現を使用してユーザー名、パスワードなどを検証する方法を示しています。機密性の高いフィールド、情報。

ユーザー名を確認する

通常、ユーザー名を確認するには、文字、数字、アンダースコアのみを含むなどのいくつかのルールに従う必要があり、長さは 6 ~ 16 文字である必要があります。 。以下はユーザー名を検証するための正規表現です:

'/^[a-zA-Z0-9_]{6,16}$/'

この正規表現では、^ を使用して最初の文字の一致を示し、$ で文字列の終わりを示し、{6,16} で文字の長さが一致することを示します。 6 から 16 の間である必要があります。

検証パスワード

検証パスワードには、少なくとも 1 つの数字、1 つの大文字と 1 つの小文字、および長さを含むなどのいくつかのルールにも準拠する必要があります。 8~20文字以内です。以下は、パスワードを検証するための正規表現です:

'/^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,20}$/'

この正規表現では、^ を使用して最初の文字の一致を示し、$ で文字列の終わりを示し、(?=.

d) で一致することを示します。少なくとも 1 つの数字が含まれています。 ( ?=.

[a-z]) は、少なくとも 1 つの小文字が含まれていることを意味します。 (?=.*[A-Z]) は、少なくとも 1 つの大文字 .{8 が含まれていることを意味します。 ,20} は、文字の長さが 8 ~ 20 である必要があることを意味します。

電子メール アドレスの検証

電子メール アドレスの検証も、開発者が実装する必要がある機能です。電子メール アドレスを検証するための正規表現は次のとおりです。

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

この正規表現では、^ は最初の文字の一致を示し、$ は文字列の終わりを示し、@ は "@" 記号を示し、[a -zA-Z0- 9_-] は、電子メール名に文字、数字、アンダースコア、半角マイナス記号を含めることができることを意味します。 (.[a-zA-Z0-9_-]) は、電子メール ドメイン名に複数のサブを含めることができることを意味します・ドメイン名は半角ドット(.)で区切って指定し、最後のサブドメイン名は2~4文字の文字または数字にする必要があります。

概要

この記事の導入部を通じて、特殊文字の PHP 正規表現検証の方法について学び、いくつかの一般的な正規表現検証テクニックを学びました。開発者はユーザー データのセキュリティを確保する必要があり、正規表現を使用して入力データの有効性を検証することは非常に重要な手順です。この記事が皆様のお役に立てれば幸いです。インターネットをより安全にするために一緒に取り組みましょう。


a-zA-Z0-9_

以上が特殊文字を検証するための PHP 正規表現方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。