PHPでよく使われる正規表現には、電話番号、メールアドレス、ユーザー名、携帯電話番号、メールアドレス、パスワード、QQ番号、ID番号、スペース、文字、数字などが含まれます。これらの正規表現テストコードを整理すると次のようになります。
N+1 の正規表現の概要を参照してください:
一般的なレギュラーマッチ:
コードは次のとおりです | コードをコピー |
((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52 |53|54|61|62|63|64|65)[0-9]{4})(([1|2][0-9]{3}[0|1][0-9][ 0-3][0-9][0-9]{3}[X0-9])|([0-9]{2}[0|1][0-9][0-3][0 -9][0-9]{3})) |
一致する Tencent QQ 番号: [1-9][0-9]{4,} 注: Tencent QQ 番号は 10000 から始まります
価格: /(^[-+]?[1-9]d*(.d{1,2})?$)|(^[-+]?[0]{1}(.d{1,2 })?$)/
ユーザー パスワードを確認します: "^[a-zA-Z]w{5,17}$" 正しい形式は次のとおりです。文字で始まり、長さは 6 ~ 18 で、文字、数字、アンダースコアのみを含めることができます。
中国の郵便番号:[1-9]{1}(d+){5}
中国の携帯電話番号: (86)*0*13d{9}
マスク:
コードは次のとおりです | コードをコピー |
/^(254|252|248|240|224|192|128|0).0.0.0$|^(255.(254|252|248|240|224|192|128|0).0.0) $|^(255.255.(254|252|248|240|224|192|128|0).0)$|^(255.255.255.(254|252|248|240|224|192|128|0) |255))$/ |
中国の電話番号(携帯電話と固定電話を含む): ((d{3,4})|d{3,4}-|s)?d{7,14}
正規表現「((d{3,4})|d{3,4}-)?d{7,8}(-d{3})*」(0511-4405222 または 021-87888822 などの形式に一致)または021-44055520-555または(0511)4405222)
中国のID番号:
コードは次のとおりです | コードをコピー |
((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52 |53|54|61|62|63|64|65)[0-9]{4})(([1|2][0-9]{3}[0|1][0-9][ 0-3][0-9][0-9]{3}[X0-9])|([0-9]{2}[0|1][0-9][0-3][0 -9][0-9]{3})) |
スペース/空行の一致:
空行に一致する正規表現: n[s| ]*r
先頭と末尾のスペースに一致する正規表現: (^s*)|(s*$)
漢字に一致する正規表現: [u4e00-u9fa5]
一致番号:
数字のみを入力できます: "^[0-9]*$"
整数または小数: ^[0-9]+.{0,1}[0-9]{0,2}$
少なくとも n 桁の数値「^d{n,}$」のみを入力できます。
m~n 桁のみを入力できます:。 「^d{m,n}$」
入力できるのは、ゼロで始まる数字とゼロ以外の数字のみです: "^(0|[1-9][0-9]*)$"
小数点以下 2 桁の正の実数のみを入力できます: "^[0-9]+(.[0-9]{2})?$"
小数点以下 1 ~ 3 桁の正の実数のみを入力できます: "^[0-9]+(.[0-9]{1,3})?$"
ゼロ以外の正の整数のみを入力できます: "^+?[1-9][0-9]*$"
ゼロ以外の負の整数のみを入力できます: "^-[1-9][]0-9"*$
長さ 3 の文字のみを入力できます:「^.{3}$」
一致する文字:
26 文字の英字で構成される文字列のみを入力できます: "^[A-Za-z]+$"
26 文字の大文字の英字で構成される文字列のみを入力できます: "^[A-Z]+$"
26 文字の小文字の英字で構成される文字列のみを入力できます: "^[a-z]+$"
入力できる文字列は、数字と 26 文字の英字のみです: "^[A-Za-z0-9]+$"
入力できる文字列は、数字、26 文字の英字、またはアンダースコアのみです: "^w+$"
^%&',;=?$": "[^%&',;=?$x22]+"
以下に独自の正規表現アプリケーションの一部を添付します
コードは次のとおりです | コードをコピー |
関数 pregTP($test){ /** 電話番号一致 電話番号のルール: 市外局番: 3 ~ 5 桁、ほとんどは 4 桁、北京 (010) と上海 (021) は 3 桁、チベットは 5 桁もあり、括弧で囲んでも括弧で囲まなくても構いません 市外局番が括弧で囲まれている場合は、市外局番と番号の間に 0 ~ 1 個のスペースを入れることができます。括弧で囲まれていない場合は、市外局番と番号の間に 2 桁の数字または - を入れることができます。 番号: 7〜8桁 例: (010) 12345678 または (010)12345678 または 010 12345678 または 010--12345678 */ $rule = '/^((((010)|(021)|(0d{3,4})))( ?)([0-9]{7,8}))|((010|021| 0d{3,4}))([- ]{1,2})([0-9]{7,8})$/A'; preg_match($rule,$test,$result); $result を返します; } |
コードは次のとおりです | コードをコピー |
関数 pregURL($test){ /** 一致する URL URL ルール: 例 プロトコル://ドメイン名 (www/tieba/baike...).名前.サフィックス/ファイルパス/ファイル名 http://www.bKjia.c0m プロトコル://ドメイン名(www/tieba/baike...).名前.サフィックス/ファイルパス/ファイル名?パラメータ www.www.bKjia.c0m プロトコル://ドメイン名(www/tieba/baike...).名前.サフィックス/ファイルパス/ファイル名/パラメータ http://www.hzhuti.com プロトコル: オプション。大文字と小文字で構成されます。プロトコルが記述されていない場合は、:// が存在する必要はありません。それ以外の場合は、:// が存在する必要があります。 ドメイン名: 存在する必要があり、大文字と小文字で構成されます 名前: 存在する必要があります、英数字の中国語文字 サフィックス: 大文字、小文字、および . で構成される存在する必要があります。 ファイルパス: オプション、大文字、小文字、数字で構成されます ファイル名: オプション、大文字、小文字、数字で構成されます パラメーター: オプション、存在する場合は、? で始まる必要があります。つまり、存在する場合は、? で始まる対応するパラメーター情報が必要です */ $rule = '/([([a-zA-Z]+)(://))?([a-zA-Z]+).(w+).([w.]+)(/([ w]+)/?)*(/[a-zA-Z0-9]+.(w+))*(/([w]+)/?)*(?(w+=?[w]*)) *((&?w+=?[w]*))*$/'; preg_match($rule,$test,$result); $result を返します; } |
コードは次のとおりです | コードをコピー |
関数 pregPOS($test){ /** 郵便番号が一致します ルール: 6 桁、最初の桁を 0 にすることはできません */ $rule ='/^[1-9]d{5}$/'; preg_match($rule,$test,$result); $result を返します; } |
コードは次のとおりです | コードをコピー |
関数 pregCh($test){ //utf8 で中国語と一致 $rule ='/([x{4e00}-x{9fa5}]){1}/u'; preg_match_all($rule,$test,$result); $result を返します; } |
コードは次のとおりです | コードをコピー |
関数 pregTI($test){ |
コードをコピー | |
/** 一致する IP ルール: **1.**2.**3.**4 **1 は 1 桁の場合は 1 ~ 9、2 桁の場合は 01 ~ 99、3 桁の場合は 001 ~ 255 になります **2 と **3 は、1 桁の場合は 0 ~ 9、2 桁の場合は 00 ~ 99、3 桁の場合は 000 ~ 255 になります **4 は 1 桁の場合は 1 ~ 9、2 桁の場合は 01 ~ 99、3 桁の場合は 001 ~ 255 になります 4 つのパラメータが存在する必要があります */ $rule = '/^((([1-9])|((0[1-9])|([1-9][0-9]))|((00[1-9])| (0[1-9][0-9])|((1[0-9]{2})|(2[0-4][0-9])|(25[0-5])) )).)((([0-9]{1,2})|(([0-1][0-9]{2})|(2[0-4][0-9])| (25[0-5]))).){2}(([1-9])|((0[1-9])|([1-9][0-9]))|(00 [1-9])|(0[1-9][0-9])|((1[0-9]{2})|(2[0-4][0-9])|(25 [0-5])))$/'; preg_match($rule,$test,$result); $result を返します; } |