この記事では、PHPで最もよく使われる正規表現を整理して紹介します。とても良い参考値なので、以下のエディタで見てみましょう
1. チェックデジットの表現
数値: ^[0-9]*$
n桁の数値: ^d{ n} $
少なくとも n 桁の数値: ^d{n,}$
m-N 桁: ^d{m,n}$
ゼロで始まる数値およびゼロ以外の数値: ^(0|[1- 9] [0-9]*)$
ゼロ以外で始まり小数点以下 2 桁までの数値: ^([1-9][0-9]*)+(.[0-9]{1,2 })?$
小数点以下 1 ~ 2 桁の正または負の数: ^(-)?d+(.d{1,2})?$
正の数、負の数、および小数: ^(-|+ )?d+(.d+)?$
小数点以下 2 桁の正の実数: ^[0-9]+(.[0-9]{2})?$
1~3 の正の実数小数点以下の桁数:^[0-9]+(.[0-9]{1,3})?$
ゼロ以外の正の整数: ^[1-9]d*$ または ^([1-9] [0 -9]*){1,3}$ または ^+?[1-9][0-9]*$
ゼロ以外の負の整数: ^-[1-9][]0-9″ *$ または ^-[1-9]d*$
非負の整数: ^d+$ または ^[1-9]d*|0$
非正の整数: ^-[1-9]d *|0$ または ^((-d+)|(0+))$
非負の浮動小数点数: ^d+(.d+)?$ または ^[1-9]d*.d*|0。 d*[1-9 ]d*|0?.0+|0$
非正の浮動小数点数: ^((-d+(.d+)?)|(0+(.0+)?)) $ または ^(-([1 -9]d*.d*|0.d*[1-9]d*))|0?.0+|0$
正の浮動小数点数: ^[1- 9]d*.d*|0 .d*[1-9]d*$ または ^(([0-9]+.[0-9]*[1-9][0-9]*)| ([0-9]*[1 -9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$
負の浮動小数点数: ^-([1 -9]d*.d*|0.d*[1-9]d*)$ または ^(-(([0-9]+.[0-9] *[1-9][0-9 ]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1 -9][0-9]*) ))$
浮動小数点数: ^(-?d+)(.d+)?$ または ^-?([1-9]d*.d*|0.d *[1-9]d*|0? .0+|0)$
2. チェック文字の表現
漢字: ^[u4e00-u9fa5]{0,}$
英語と数字: ^[A-Za-z0-9] +$ または ^[A-Za-z0-9]{4,40}$
長さ 3 ~ 20 のすべての文字: ^.{3,20}$
A 26 文字の英字で構成される文字列: ^[A-Za-z]+$
26 文字の大文字で構成される文字列: ^[A-Z]+$
26 文字の小文字で構成される文字列: ^[a-z]+ $
数字と 26 個の英字で構成される文字列: ^[A-Za-z0-9]+$
数字、26 個の英字またはアンダースコアで構成される文字列: ^w+$ または ^w{3,20 } $
中国語、英語、アンダースコアを含む数字: ^[u4E00-u9FA5A-Za-z0-9_]+$
中国語、英語、アンダースコアおよびその他の記号を除く数字: ^[u4E00-u9FA5A-Za-z0- 9 ]+$ または ^[u4E00-u9FA5A-Za-z0-9]{2,20}$
「^%&',;=?$」を含む文字を入力できます: [^%&',;=? $ x22]+
~を含む文字の入力は禁止です: [^~x22]+
3. 特別支援表現
メールアドレス: ^w+([-+.]w+)*@w+([- .]w+)*.w+([-.]w+)*$
ドメイン名: [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a - zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
インターネット URL: [a-zA-z]+://[^s]* または ^http : //([w-]+.)+[w-]+(/[w-./?%&=]*)?$
携帯電話番号: ^(13[0-9]|14[5 | 7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])d{8} $
電話番号 ("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"、および "XXXXXXXX)": ^($$d{3,4}-) | d{3.4}-)?d{7,8}$
国内電話番号 (0511-4405222、021-87888822): d{3}-d{8}|d{4}-d{7}
ID 番号 (15 桁、18 桁): ^d{15}|d{18}$
短い ID 番号 (数字、x で終わる文字): ^([0-9]){7,18} ( x| -16 バイト、英数字のアンダースコアを使用可能): ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
パスワード (文字で始まり、長さは 6 ~ 18、文字、数字、アンダースコアのみを含めることができます): ^[a-zA-Z]w{5,17}$
強力なパスワード (大文字、小文字、数字の組み合わせを含める必要があり、特殊文字は使用できません)長さは 8 ~ 10 の間です): ^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
日付形式: ^d{4 }-d{ 1,2}-d{1,2}
年間 12 か月 (01~09 および 1~12): ^(0?[1-9]|1[0-2])$
毎月 1 つの 31 日 (01~09 および 1~31): ^((0?[1-9])|((1|2)[0-9])|30|31)$
お金の入力形式:
これにより、ユーザーは小数点以下 1 桁だけを書き込むことができます。次に、数値のカンマを考慮する必要があります。これを行うことができます。 ^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2}) ? $
1 ~ 3 個の数値、その後に任意の数のカンマ + 3 個の数値。カンマは必須ではなくオプションになります: ^([0-9]+|[0-9]{1,3} (,[ 0-9]{3})*)(.[0-9]{1,2})?$
注: これは最終結果です。「+」が使用できることを忘れないでください。」* "交換。"空の文字列が許容されると思われる場合 (奇妙ですが、なぜですか?) 最後に、関数を使用するときによくあるエラーはここにあります: ^([a- zA-Z]+- ?)+[a-zA-Z0-9]+\.[x|X][m|M][l|L]$
全角文字: [^x00-xff] (漢字を含む、文字列の長さの計算に使用できます (全角文字の長さは 2 としてカウントされ、ASCII 文字の長さは 1 としてカウントされます))
空白行の通常式: ns*r (空白行の削除に使用できます)
HTML タグの正規表現: <(S*?)[^>]*>.*?1>|< * ? /> (インターネット上で流通しているバージョンはあまりにもひどいもので、上記のバージョンは部分的にしか機能せず、複雑なネストされたタグにはまだ無力です)
先頭および末尾の空白文字の正規表現: ^s*|s* $ または (^s *)|(s*$) (行頭と行末の空白文字 (スペース、タブ、フォーム フィードなどを含む) を削除するのに使用でき、非常に便利な式です)
Tencent QQ 番号: [1- 9][0-9]{4,} (Tencent QQ 番号は 10000 から始まります)
中国の郵便番号: [1-9]d{5}(?!d) (中国の郵便番号は6 桁)
IP アドレス: d+.d+.d+.d+ (IP アドレスを抽出するときに役立ちます)
上記は、PHP で最もよく使用される正規表現の詳細な説明です。 PHP 中国語 Web サイト (www.php.cn)!
関連記事: HTMLタグ、スペース、改行をフィルタリングするphp正規表現コード