正規表現はフォームのバリデーションなどでよく使うことがありますが、忘れてしまうのでメモ。
DEMO
半角数字が含まれる
value.match(/\d/);
半角数字のみ
value.match(/^\d+$/);
英字が含まれる
value.match(/[a-zA-Z]/);
英字のみ
value.match(/^[a-zA-Z]+$/);
ひらがなのみ
value.match(/^[\u3040-\u309f]+$/);
カタカナのみ
value.match(/^[\u30a0-\u30ff]+$/);
半角カタカナのみ
value.match(/^[\uff65-\uff9f]+$/);
全角のみ
value.match(/^[\u3040-\u30ff]+$/);
ASCII文字のみ
ASCII文字は、半角の英数字や記号など。日本語文字や全角の英数字などは含まれない。
value.match(/^[\u0020-\u007e]+$/));
特定の記号が含まれる
例: <、>、&、"、'、\u005c()、\u0020(空白)が含まれる場合
value.match(/(<|>|&|"|'|\u005c|\u0020)/));
URLかどうか(半角英数字)
value.match(/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/)
メールアドレス その1
簡易的な正規表現。全角が含まれず、{1}@{2} のような形式
-._の記号が使用可能
value.match(/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/)
Address | Match |
---|---|
aa@aa | ◯ |
a@aa | ◯ |
@aa | × |
aa@a | × |
a-a@aa | ◯ |
-aa@aa | × |
aa$@aa | × |
メールアドレス その2
RFC5322の仕様に基づく。 {1}@{2}.{2} のような形式
こちらから引用 → Email Address Regular Expression That 99.99% Works
value.match(/^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i);
@前に使用可能記号: -!$%^&*=+ (.は先頭または@の直前には使用不可)
@後、.◯◯前に使用可能記号: -.
使用可能メール
- .aero
- .arpa
- .biz
- .com
- .coop
- .edu
- .gov
- .info
- .int
- .mil
- .museum
- .name
- .net
- .org
- .pro
- .travel
- .mobi
Address | Match |
---|---|
aa@aa | × |
aa@aa.a | × |
aa@aa.aa | ◯ |
!aa@aa.com | ◯ |
aaa+aaa@gmail.com | ◯ |