名前形式を検証するための PHP 正規表現
Web アプリケーションでは、ユーザーが入力した名前形式が正しいかどうかを検証する必要があります。この目的のために、正規表現を検証に使用できます。この記事では、PHP で正規表現を使用して名前の形式を確認する方法について説明します。
1. 名前の形式に関する規則
一般的に、中国人の名前の形式は「名前 (姓を追加する必要がある場合もあります)」です。英語名の形式は「姓、名」です。中国語の名前の場合、通常は 2 つの漢字で構成され、最初の漢字が姓、2 番目の漢字が名になります。英語名の場合は、通常、姓と名がカンマで区切られます。一部の国や地域では英語名の形式が異なることに注意してください。
2. PHP の正規表現
PHP の preg_match() 関数を使用すると、文字列内の正規表現に一致するコンテンツがあるかどうかを検索できます。 preg_match() 関数の使用法は次のとおりです。
preg_match(pattern,string);
ここで、pattern は正規表現、string は検索する文字列です。文字列内にコンテンツ一致パターンがある場合、preg_match() 関数は 1 を返し、そうでない場合は 0 を返します。
次は、中国語の名前形式を確認するために使用される正規表現です:
/^[x{4e00}-x{9fa5}]{2,5}$/u
この正規表現の意味は、2 ~ 5 文字の漢字で始まり、終わり、間に他の文字が入っていないことです。このうち、x{4e00}-x{9fa5} は漢字の範囲を表します。
次は、英語名の形式を確認するために使用される正規表現です:
/^([a-zA-Z] )s,s([a- zA-Z] )$/u
この正規表現の意味は次のとおりです。カンマを区切り文字として使用し、左側は 1 つ以上の英語文字で構成される姓、右側は姓です。 1 つ以上の英語の文字で構成される名前。このうち、sは空白文字、*は0回以上の繰り返しを表します。
3. PHP コードの例
次は、正規表現を使用して名前の形式を検証する PHP コードの例です:
<?php function checkName($name){ if(preg_match('/^[x{4e00}-x{9fa5}]{2,5}$/u',$name)||preg_match('/^([a-zA-Z]+)s*,s*([a-zA-Z]+)$/u',$name)){ return true; }else{ return false; } } ?>
上記のコードでは、checkName()この関数は、検証する名前である $ name パラメータを受け入れます。関数では、中国語名と英語名形式を検証するために 2 つの正規表現が使用されます。 $name が正規表現のいずれかに一致する場合、関数は true を返し、それ以外の場合は false を返します。上記のコードを別のファイルに置くことも、Web ページで直接使用することもできます。
4. 概要
この記事では、PHP で正規表現を使用して名前の形式を確認する方法を紹介します。名前の形式は国や地域によって異なる場合があるため、実際の状況に応じて調整する必要があることに注意してください。実際の開発においては、セキュリティなども考慮し、包括的な入力検証やフィルタリングを行う必要があります。
以上が名前の形式を検証するための PHP 正規表現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。