正規表現を使って文字チェックを行うサンプルです。
サンプルソース
例)正規表現パターンと一致判定を行う
1 2 3 4 5 6 7 8 9 10 11 12 |
//正規表現パターン(半角英数4桁に一致) var regex = new RegExp(/^\w{4}$/); //判定する文字列 var str = "hoge"; //判定 if (regex.test(str)) { alert("正規表現パターンに一致しています。"); }else{ alert("正規表現パターンに一致していません。"); } |
- (結果)
- 正規表現パターンに一致しています。
解説
- 正規表現記号については、以下にある記事「正規表現記号」欄をご覧ください。
- 正規表現パターンに使用されている記号を指定したい場合は、\マークでエンコードすればOKです。(例:$→\$、\→\\)
正規表現記号
正規表現は以下のパターン記号を組み合わせて指定します。
記号 | 意味 | 例 | |
---|---|---|---|
^ | 先頭にマッチ | /^abc/ | abcdef → ○ xabcdef → × |
$ | 末尾にマッチ | /de$/ | abcde → ○ abcdef → × |
a{x} | aのx回繰り返し | /^\d{4}$/ | 1234 → ○ 123a → × |
a{x,} | aのx回以上繰り返し | /^[0-9]{3,}$/ | 12 → × 123 → ○ abc → × |
a{x,y} | aのx回以上y回以下繰り返し | /^[0-9]{3,4}$/ | 12 → × 123 → ○ 1234 → ○ 12345 → × |
a+ | aの1回以上繰り返し | /^[0-9]+$/ | "" → × 1 → ○ 12 → ○ A → × |
a* | aの0回以上繰り返し | /^[0-9]*$/ | "" → ○ 1 → ○ 12 → ○ A → × |
a? | aの0回以上1回以下の出現 | /^[0-9]?$/ | "" → ○ 1 → ○ 12 → × A → × |
[ABC] | AまたはBまたはCとマッチ | /[ABC]/ | AXBXCXD → ○ BBB → ○ XYZ → × |
[^ABC] | AまたはBまたはCとマッチしない | /[^ABC]/ | AXBXCXD → ○ BBB → × XYZ → ○ |
[0-9] | 0~9いずれかとマッチ | /[0-9]/ | "" → × 123 → ○ 1a → ○ ab → × |
[a-z] | a~zいずれかとマッチ | /[a-z]/ | "" → × 123 → × 1a → ○ ab → ○ |
[A-C] | A~Cいずれかとマッチ | /[A-C]/ | "" → × 123 → × 1A → ○ XY → × |
[a-z0-9] | a~z、0~9いずれかとマッチ | /[a-z0-9]/ | "" → × 123 → ○ 1a → ○ ab → ○ AB → × |
(文字1|文字2) | 文字1または文字2とマッチ | /(inu|neko)/ | "" → × inu → ○ kuma → × ko → × mikeneko → ○ |
よく使われるパターンはメタ文字として定義されています。
メタ文字 | 意味 |
---|---|
. | 任意の1文字 |
\w | 半角英数字とアンダースコア(_) |
\W | 半角英数字とアンダースコア(_)以外 |
\d | 半角数値 |
\D | 半角数値以外 |
\s | 空白記号(半角スペース、全角スペース、タブ文字) |
\S | 空白記号以外 |
\n | 改行文字 |
\t | タブ文字 |
\0 | null |
正規表現パターン例
よく使われるパターン例をまとめてみました。
内容 | パターン |
---|---|
1文字以上の半角英数字とマッチ | /^\w+$/ |
0文字以上の半角英字とマッチ | /^[a-zA-Z]*$/ |
6文字以上8文字以下の半角英数字とマッチ | /^\w{6,8}$/ |
6文字以上8文字以下の文字とマッチ(文字種問わず) | /^.{6,8}$/ |
任意の4文字とマッチ | /^.{4}$/ |
半角数値1~3で構成された4文字とマッチ | /^[1-3]{4}$/ |
"A"、"B"、"C"で構成された4文字とマッチ | /^[ABC]{4}$/ |
"A"、"B"、"C"で構成された4文字とマッチ(大文字小文字問わず) | /^[ABC]{4}$/i |
"A"、"B"、"C"以外で構成された4文字とマッチ | /^[^ABC]{4}$/ |
郵便番号形式(半角数値3桁-4桁) | /^\d{3}-\d{4}$/ |
"inu"、"neko"が含まれている場合にマッチ | /(inu|neko)/ |
解説
- 正規表現パターンのサンプルについては、以下ページもご覧ください。
→ 正規表現パターンサンプル集
[…] https://javascript.programmer-reference.com/js-string-regexp/ […]