正規表現は、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 タグに一致する正規表現: /<(.*)>.*1> (.*) />/
先頭および末尾のスペースに一致する正規表現: (^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 タグに一致する正規表現: /<(.*)>.*1>|<(.*) />/
先頭および末尾のスペースに一致する正規表現: (^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 タグに一致する正規表現: /<(.*)>.*1>|<(.*) />/
は先頭および末尾のスペースと一致します 正規表現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 タグに一致: <(.*)>.*1>|<(.*) / >
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]+$