PHPの通常ルール

WBOY
リリース: 2016-06-13 12:18:20
オリジナル
1607 人が閲覧しました

php で一般的に使用される正規表現

正規表現は、Web サイトを構築するときによく使用されます。参考および変更のみを目的として、いくつかの説明と例を示します。
"^d+$" //負でない整数 (正の整数 + 0)
"^[0-9]*[1-9][0-9]*$" //正の整数
"^( (( -d+)|(0+))$" //正でない整数 (負の整数 + 0)
"^-[0-9]*[1-9][0-9] *$" //負の整数
"^-?d+$" //整数
"^d+(.d+)?$" //非負の浮動小数点数 (正の浮動小数点数)ポイント番号 + 0)
"^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1 -9][0- 9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正の浮動小数点数
"^((- d+(.d+)?)|(0+(.0+)?))$" //非正の浮動小数点数 (負の浮動小数点数 + 0)
"^(-(([0-9 ]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]* .[0-9]+)|( [0-9]*[1-9][0-9]*)))$" //負の浮動小数点数
"^(-?d+ )(.d+)?$" //浮動小数点
"^[A-Za-z]+$" //26 個の英字からなる文字列
"^[A-Z] +$" //英字26文字からなる文字列 大文字からなる文字列
"^[a-z]+$" //英字小文字26文字からなる文字列
"^ [A-Za-z0-9 ]+$" // 数字と 26 文字の英字で構成される文字列
"^w+$" // 数字、26 文字の英字、またはアンダースコアで構成される文字列
" ^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$" //メールアドレス
"^[a -zA-z ]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$" //url
/^(d {2}| d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1 }))| (3[0|1]))$/ // 年-月-日
/^((0([1-9]{1}))|(1[1| 2])) /(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9 ]{1, 3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?) $" // エミル
/^((+?[0-9]{2,4}-[0-9]{3,4}-)|([0-9]{3, 4}-) )?([0-9]{7,8})(-[0-9]+)?$/ //電話番号
"^(d{1,2}| 1dd|2[ 0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2 }|1dd| 2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IPアドレス

中国語の文字に一致する正規表現: [u4e00-u9fa5]
一致する 2 バイト文字 (中国語の文字を含む): [^x00-xff]
空行に一致する正規表現: n[s| ]*r
HTML タグに一致する正規表現: /<(.*)>.* (.*) />/
先頭および末尾のスペースに一致する正規表現: (^s*)|(s*$)
電子メール アドレスに一致する正規表現: w+([-+ .]w+)*@w+([-.]w+)*.w+([-.]w+)*
URL に一致する正規表現: ^[a-zA- z]+://(\ w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$
一致するアカウントは合法ですか? (文字で始まります) 5 ~ 16 バイトを許可し、英数字のアンダースコアを許可します): ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
国内の電話番号と一致します (d{3}- |d{4}-)?(d{8}|d{7})?
Tencent QQ 番号と一致します: ^[1-9]*[1-9][0-9]*$


正規表現のコンテキストにおけるメタ文字とその動作:

次の文字を特殊文字、リテラル文字、後方参照、または 8 進エスケープ文字としてマークします。 。

^ は入力文字列の先頭と一致します。 RegExp オブジェクトの Multiline プロパティが設定されている場合、^ は 'n' または 'r' の後の位置にも一致します。

$ は入力文字列の終了位置と一致します。 RegExp オブジェクトの Multiline プロパティが設定されている場合、$ は 'n' または 'r' の前の位置にも一致します。

* 直前の部分式と 0 回以上一致します。

+ は前の部分式と 1 回以上一致します。 + は {1,} と同等です。

? 直前の部分式と 0 回または 1 回一致します。 ? {0,1} に相当します。

{n} n は、n 回一致する非負の整数です。

{n,} n は、少なくとも n 回一致する非負の整数です。

{n,m} m と n は両方とも非負の整数であり、n

? この文字が他のリミッター (*、+、?、{n}、{n,}、{n,m}) の直後にある場合、一致するパターン貪欲ではありません。非貪欲モードは検索文字列の可能な限り少ない部分と一致しますが、デフォルトの貪欲モードは検索文字列の可能な限り多くの部分と一致します。

「n」を除く任意の 1 文字と一致します。 「n」を含む任意の文字と一致するには、「[.n]」のようなパターンを使用します。
(パターン) はパターンと一致し、この一致を取得します。

(?:pattern) はパターンに一致しますが、一致結果を取得しません。これは、一致を取得できず、後で使用するために保存されないことを意味します。

(?=pattern) 前方参照。文字列一致パターンの先頭にある検索文字列と一致します。これは非フェッチ一致です。つまり、後で使用するために一致をフェッチする必要はありません。

(?!pattern) ネガティブ プレビュー (?=pattern)

x の反対またはy。

[xyz] 文字セット。

[^xyz] 負の値の文字セット。

[a-z] 文字範囲は、指定された範囲内の任意の文字と一致します。

[^a-z] 負の文字範囲。指定された範囲内にない任意の文字と一致します。

b は、単語とスペースの間の位置を指す単語境界に一致します。

B は単語以外の境界に一致します。

cx は、x で指定された制御文字と一致します。

d は数字と一致します。 [0-9]に相当します。

D は数字以外の文字と一致します。 [^0-9] と同等。

f はフォーム フィードと一致します。 x0c および cL に相当します。

n は改行文字と一致します。 x0a および cJ に相当します。

r は復帰文字と一致します。 x0d および cM に相当します。

は、スペース、タブ、フォーム フィードなどを含む任意の空白文字と一致します。 【fnrtv】に相当。

S は空白以外の文字と一致します。 [^ fnrtv] に相当します。

はタブ文字と一致しません。 x09 および cI に相当します。

v は垂直タブ文字と一致します。 x0b および cK に相当します。

w は、アンダースコアを含む任意の単語文字に一致します。 「[A-Za-z0-9_]」と同等。

W は単語以外の文字に一致します。 「[^A-Za-z0-9_]」と同等。

xn は n と一致します。n は 16 進数のエスケープ値です。 16 進エスケープ値は正確に 2 桁の長さである必要があります。

num は num と一致します (num は正の整数)。取得した一致への参照。

n は、8 進エスケープ値または後方参照を識別します。 n の前に少なくとも n 個のフェッチされた部分式がある場合、n は後方参照です。それ以外の場合、n が 8 進数 (0 ~ 7) の場合、n は 8 進数のエスケープ値になります。

nm は、8 進エスケープ値または後方参照を識別します。 nm の前に少なくとも nm 個のフェッチされた部分式がある場合、nm は後方参照です。 nm の前に少なくとも n の get がある場合、n は後方参照であり、その後にリテラル m が続きます。前述の条件がどちらも当てはまらず、n と m が両方とも 8 進数 (0 ~ 7) である場合、nm は 8 進数のエスケープ値 nm と一致します。

nml n が 8 進数 (0 ~ 3) で、m と l が両方とも 8 進数 (0 ~ 7) の場合、8 進数のエスケープ値 nml と一致します。

un は n と一致します。n は 4 桁の 16 進数で表される Unicode 文字です。

漢字に一致する正規表現: [u4e00-u9fa5]

全角文字 (漢字を含む) に一致含まれます): [^x00-xff]

空白行に一致する正規表現: n[s| ]*r

HTML タグに一致する正規表現: /<(.*)>.*|<(.*) />/

先頭および末尾のスペースに一致する正規表現: (^s*)|(s*$)

電子メール アドレスに一致する正規表現: w+([-+ .] w+)[email protected]+([-.]w+)*.w+([-.]w+)*

URL に一致する正規表現: http://( [w-]+.)+[w-]+(/[w- ./?%&=]*)?

通常のルールを使用して入力を制限しますWeb フォームのテキスト ボックスの内容:

中国語入力のみを制限するには正規表現を使用します: onkeyup="value=value.replace(/[^u4E00 -u9FA5] /g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"

正規表現を使用して全角文字のみの入力を制限します: onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'')" onbeforepaste="clipboardData .setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"

通常のものを使用式 式は数値のみに制限されます: onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text')。 replace (/[^d]/g,''))"

正規表現を使用して入力を数字と英語に制限します: onkeyup="value=value.replace( /[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"

=========一般的に使用される正規表現



漢字に一致する正規表現: [u4e00-u9fa5]

一致する 2 バイト文字 (中国語を含む): [^x00- xff]

空の行に一致する正規表現: n[s| ]*r

HTML タグに一致する正規表現: /<(.*)>.*|<(.*) />/

は先頭および末尾のスペースと一致します 正規表現for: (^s*)|(s*$)

IP アドレスに一致する正規表現: /(d+).(d+).(d+ ).(d+ )/g //

電子メール アドレスに一致する正規表現: w+([-+.]w+)*@w+([-.]w+ )*.w+([ -.]w+)*

URL に一致する正規表現: http://(/[w-]+.)+[ w-]+(/[w- ./?%&=]*)?

SQL ステートメント: ^(select|drop|delete|create|update|insert ).*$

1. 負でない整数: ^d+$

2. 正の整数: ^[ 0-9]*[1- 9][0-9]*$

3. 正でない整数: ^((-d+)|(0+)) $

4. 負の整数: ^-[0-9]*[1-9][0-9]*$

5. 整数: ^-?d+$

6. 非負の浮動小数点数: ^d+(.d+)?$

7. 正の浮動小数点数: ^((0-9)+.[0-9]*[1-9][0-9]*)|([0-9] *[1 -9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$

8. 非正の浮動小数点数: ^((-d+.d+)?)|(0+(.0+)?))$

9 、負の浮動小数点数: ^(-((正の浮動小数点数正規表現)))$

10 英語の文字列: ^[A- Za-z]+$

11. 英語の大文字文字列: ^[A-Z]+$

12.英語の小文字の文字列: ^[ a-z]+$

13. 英語の文字と数字の文字列: ^[A-Za-z0-9]+$

14. 英数字と下線付きの文字列: ^w+$

15. 電子メール アドレス: ^[w-]+(. [w-]+) *@[w-]+(.[w-]+)+$

16. URL: ^[a-zA-Z] +://(w+ (-w+)*)(.(w+(-w+)*))*(?s*)?$
または: ^http://[A-Za-z0 -9]+.[ A-Za-z0-9]+[/=?%-&_~`@[]':+!]*([^<>""])*$

17. 郵便番号: ^[1-9]d{5}$

18. uFFE5]+$

19. 電話番号: ^(((d{2,3}))|(d{3}-))?((0d{ 2,3})| 0d{2,3}-)?[1-9]d{6,7}(-d{1,4})?$

20. 携帯電話番号 :^(((d{2,3}))|(d{3}-))?13d{9}$

21. 全角文字 (漢字を含む): ^x00-xff

22. 先頭と末尾のスペースの一致: (^s*)|(s*$) (vbscript のようなトリミング関数)

23. HTML タグに一致: <(.*)>.*|<(.*) / >

24. 空の行に一致します: n[s| ]*r

25.情報: (h |H)(r|R)(e|E)(f|F) *= *('|")?(w|\|/|.)+('|"| *|> ;)?

26. 情報内の電子メール アドレスを抽出します: w+([-+.]w+)*@w+([-.]w+)*.w+ ([-.]w+ )*

27. 情報内の画像リンクを抽出します: (s|S)(r|R)(c|C) *= *('|")? (w|\|/|.)+('|"| *|>)?

28.情報: (d+).( d+).(d+).(d+)

29. 情報内の中国の携帯電話番号を抽出します: (86)*0 *13d{9}

30. 情報内の中国の固定電話番号を抽出します: ((d{3,4})|d{3,4}-|s)?d{8}

31. 情報から中国の電話番号 (携帯電話と固定電話を含む) を抽出します: ((d{3,4})|d{3,4}-|s)?d{7,14}

32. 抽出された情報内の中国の郵便番号: [1-9]{1}(d+){5}

33. 情報内の浮動小数点数 (つまり、10 進数) を抽出します: (-?d*).?d+

34. : (- ?d*)(.d+)?

35.IP: (d+).(d+).(d+).(d+)

36. 電話市外局番: /^0d{2,3}$/

37. 1-9] *[1-9][0-9]*$

38. 口座番号 (文字で始まり、5 ~ 16 バイトを使用可能、英数字を使用可能)アンダースコア): ^[ a-zA-Z][a-zA-Z0-9_]{4,15}$

39、中国語、英語、数字、下線: ^[u4e00- u9fa5_a-zA-Z0-9]+$
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート