10 の実践的な PHP 正規表現
正規表現は、特定の文字、単語、計算などのテキストの説明または一致に使用される文字列を提供する、プログラム開発における重要な要素です。ただし、場合によっては、正規表現を使用して文字列を検証するのは複雑で時間がかかります。この記事では、PHP で正規表現を記述する一般的で実践的な方法を 10 個紹介します。これがあなたの仕事に役立つことを願っています。
1. メールアドレスの認証
メールの認証に使用する正規表現です。しかし、それは効率的で完璧な解決策ではありません。ここではお勧めしません。
1
2
5 |
$email = "[email protected]" ; if code> code> <code class="php plain">(preg_match( '/^[^0-9][a-zA-Z0-9_] ([. ][ a-zA-Z0-9_] )*[@][a-zA-Z0-9_] ([.][a-zA-Z0-9_] )*[.][a-zA-Z]{ 2, 4}$/' , $email ) ) {
echo "あなたのメールアドレスは問題ありません。" ; { echo "メールアドレスの形式が間違っています" ; } |
1 2
5 |
2. ユーザー名を確認します
これは、文字、数字 (A-Z、a-z、0-9 )、アンダースコア、および文字を含むユーザー名を確認する例です。最小 5 文字、最大 20 文字。同時に、必要に応じて最小値と最大値を適切に変更することもできます。
1
2
5 |
$username = "user_name12" ; if (preg_match('/^[a-zd_]{5,20}$/i' , $username )) {
echo "あなたのユーザー名は問題ありません。" ; } else {
echo "ユーザー名の形式が間違っています。" ; }
|
1 2
5 |
$phone = "(021)423-2323" ; '/(?d{3})?[-s.]?d{3}[ -s.]d{4}/x' 、 $phone )) { echo "あなたの電話番号は問題ありません。" ; } else { echo "電話番号が間違っています。" code>; } |
4. IP アドレスの認証
これは IPv4 アドレスの認証に使用される例です。
1
2
3
|
1 2
3
4
5
6
|
$zipcode = "12345-5434" ; if (preg_match( "/^([0-9]{5})(-[0-9]{4})?$/i" , $zipcode )) { echo "Your Zip code is ok." ; } else { echo "Wrong Zip code." ; }
|
1 2
5 |
$zipcode = "12345-5434" ; if (preg_match( "/^([0-9]{ 5})(-[0-9]{4})?$/i" , $zipcode code><code class="php plain">)) { echo "郵便番号は問題ありません。" ; } else { echo "郵便番号が違います。" ; }
|
6. 验证SSN(社会保護番号)
これは验证アメリカSSNの例です。 border="0" cellpacing="0" cellpadding="0">
1 2
3
4
5
6
|
$ssn = "333-23-2329" ; if (preg_match( '/^[d]{3}-[d]{2}-[d]{4}$/' , $ssn )) { echo "Your SSN is ok." ; } else { echo "Wrong SSN." ; } |
$ssn
=
"333-23-2329"
;
if
(preg_match(
'/^[d]{3}-[d]{2}-[d]{4}$/'
,
$ssn
)) {
echo
"SSN は問題ありません。"<code class="php plain">;
}
else
{
echo
「SSN が間違っています。」
;
}
1 2
3
4
5
6
|
$cc = "378282246310005" ; if (preg_match( '/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})$/' , $cc )) { echo "Your credit card number is ok." ; } else { echo "Wrong credit card number." ; } |
$cc = "378282246310005" ; if (preg_match( '/^(?:4[0- 9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|3(?:0[ 0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})$/' , $cc )) { echo "クレジット カード番号は問題ありません。" ; } else { echo "クレジット カード番号が違います。" ; }
|
8. 验证ドメイン名
1
4 |
$url = "http://ansoncheung.tk/" ;
if (preg_match( '/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A- Z0-9][A-Z0-9_-]*) ):?(d )?/?/i' , $url )) {
code><code class="php function">echo "URL は問題ありません。" ; } else {
echo "URL が間違っています。" ; }
|
9. 特定URL中引取領域名
1 2
3
|
$text = "Sample sentence from AnsonCheung.tk, regular expression has become popular in web programming. Now we learn regex. According to wikipedia, Regular expressions (abbreviated as regex or regexp, with plural forms regexes, regexps, or regexen) are written in a formal language that can be interpreted by a regular expression processor" ; $text = preg_replace( "/b(regex)b/i" , '<span style="background:#5fc9f6">1</span>' , $text ); echo $text ;
|
1 |
$url = "http ://ansoncheung.tk/articles" ; preg_match( '@^(?:http://)?([^/] )@i'<code class="php plain">、 $url 、 $matches ); <code class="php 変数">$host = $matches [1];echo <code class="php 変数">$host;
|
1 |
$text = "AnsonCheung.tk のサンプル文、正規表現は Web プログラミングで普及しています。ここで正規表現を学びます。 wikipedia によると、正規表現 (regex または regexp と省略され、複数形は regexes、regexps、または regexen) は、正規表現プロセッサによって解釈できる形式言語で記述されています。」 ; $text = preg_replace( code>
|