<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// この記事では、使使用方法について説明しますPHP社内preg_match携帯電話番号形式を確認する機能。</span></span><span>
</span><span><span class="hljs-comment">// 詳細な正規表現解析と実際の例を提供します,あなたが理解し、適使用するのを手伝ってください。</span></span><span>
</span><span><span class="hljs-comment">// --------------------------------------------------------------</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
<h1>使用preg_match機能検証携帯電話番号形式:詳細な正規表現の書き込みと例</h1>
<p>存在するWeb開発中,使ユーザー登録、情報の充填やその他のシナリオは、多くの場合、携帯電話番号のフォーマット検証が必要です。PHP中可以使使用<strong>preg_match</strong>関数の組み合わせ<strong>正規表現</strong>この関数を完了します。本文将详细介绍如何使使用preg_match中国本土の携帯電話番号形式の機能検証。</p>
<h2></span><span><span class="hljs-number">1</span></span><span>. preg_match関数の紹介</h2>
<p>preg_matchはいPHP中使用于正規表現匹配的函数,構文は次のとおりです:</p>
<pre><code></span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">preg_match</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$pattern</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$subject</span></span><span>, </span><span><span class="hljs-keyword">array</span></span><span> &</span><span><span class="hljs-variable">$matches</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$flags</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$offset</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>)
で:
中国本土の携帯電話番号は一般に11桁で、 1から始まり、2桁目は通常3〜9です。特定のルールは次のとおりです。
この規則によれば、次の正規表現を書くことができます。
<span class="fun">/^</span> <span> <span class = "hljs-number"> 1 </span> </span> <span> [</span> <span> <span class = "hljs-number"> 3 </span> </span> <span> - </span> <span> <span class = "hljs number"> span> </span> </> </< class = "hljs-number"> 9 </span> </span> <span>} $/</span>
<?php
</span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">isValidPhoneNumber</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$number</span></span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">preg_match</span></span><span>(</span><span><span class="hljs-string">'/^1[3-9]\d{9}$/'</span></span><span>, </span><span><span class="hljs-variable">$number</span></span><span>) === </span><span><span class="hljs-number">1</span></span><span>;
}
</span><span><span class="hljs-comment">// 例:</span></span><span>
</span><span><span class="hljs-variable">$numbers</span></span><span> = [
</span><span><span class="hljs-string">'13812345678'</span></span><span>, </span><span><span class="hljs-comment">// 正当な</span></span><span>
</span><span><span class="hljs-string">'19900000000'</span></span><span>, </span><span><span class="hljs-comment">// 正当な</span></span><span>
</span><span><span class="hljs-string">'12812345678'</span></span><span>, </span><span><span class="hljs-comment">// 違法(第二位不はい3-9)</span></span><span>
</span><span><span class="hljs-string">'1391234567'</span></span><span>, </span><span><span class="hljs-comment">// 違法(長さが不十分です)</span></span><span>
</span><span><span class="hljs-string">'139123456789'</span></span><span> </span><span><span class="hljs-comment">// 違法(長すぎる)</span></span><span>
];
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$numbers</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$num</span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">isValidPhoneNumber</span></span><span>(</span><span><span class="hljs-variable">$num</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$num</span></span></span><span> はい正当な的手机号\n";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$num</span></span></span><span> はい違法的手机号\n";
}
}
?>
PREG_MATCを使用すると、適切な正規表現と組み合わされて、携帯電話番号形式を効率的に検証できます。従来のプロジェクトでは、この方法はシンプルで、速く、正確であり、違法な携帯電話番号がシステムに入るのを効果的に防ぐことができます。
もちろん、より複雑な検証ニーズ(オペレーター番号セグメント、国際数などを組み合わせるなど)の場合、正規表現をさらに最適化するか、検証に特別な数字ライブラリを使用できます。