ホームページ  >  記事  >  バックエンド開発  >  PHP共通正規一致表現学習メモ_PHPチュートリアル

PHP共通正規一致表現学習メモ_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:48:461003ブラウズ

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){
/**
マッチングタイム
ルール:
形式は次のとおりです:
年-月-日 時:分:秒
年-月-日 時:分
年月日
年: 1 または 2 で始まる 4 桁
月:1~9の1桁の数字、0または1で始まる2桁、1桁が0で始まる場合は1~9の数字、1で始まる場合は1桁が1~9の数字2
日:1~9の1桁の数字、0または1または2または3で始まる2桁の数字 単位の桁が0で始まる場合は1~9の数字、1または2で始まる場合は単位の桁は0から9です。3で始まる数字の場合、一の位は0または1です
時間: 0 ~ 9 の 1 桁、0 または 1 で始まる 2 桁、1 の桁は 0 ~ 3 です
分: 0 から 9 までの 1 桁、0 から 5 までの 2 桁、単位の桁は 0 から 9 です。 分: 0 ~ 9 の 1 桁、0 ~ 5 から始まる 2 桁、全員が 0 ~ 9 です
​*/
$rule ='/^(([1-2][0-9]{3}-)((([1-9])|(0[1-9])|(1[0-2]) )-)((([1-9])|(0[1-9])|([1-2][0-9])|(3[0-1]))))( ((( [0-9])|(([0-1][0-9])|(2[0-3]))):(([0-9])|([0-5][0- 9]))(:(([0-9])|([0-5][0-9])))?))?$/';
preg_match($rule,$test,$result);
$result を返します;
}

コードは次のとおりですコードをコピー関数 pregIP($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 を返します;
}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632747.html技術記事 PHP で一般的に使用される正規表現には、電話番号、電子メール アドレス、ユーザー名、携帯電話番号、電子メール アドレス、パスワード、QQ 番号、ID 番号、スペース、文字、数字などが含まれます。これらの正規表現はコードを記述しようとします...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。