JavaScript正規表現の使用例:メールアドレスのバリデーション
前回の記事でjavascript入門/正規表現の使い方の【メソッド編】test()、exec()などの使い方を紹介しましたが、今回は実際の使用例として、メールアドレスのバリデーションについての解説です。
正規表現の使用例:メールアドレスのバリデーション
ではここまでで学んだ正規表現を使ってメールアドレスのバリデーションチェックをしてみます。
1 2 |
var address = "メールアドレス"; var regexp = /^[A-Za-z0-9]{1}[A-Za-z0-9_.-]*@{1}[A-Za-z0-9_.-]{1,}\.[A-Za-z0-9]{1,}$/; |
この正規表現を解説すると以下のようになります。
先頭の1文字:
- ^[A-Za-z0-9]{1}
- アルファベット小文字/大文字/数字を許可
先頭より2文字目以降から@まで:
- [A-Za-z0-9_.-]*
- アルファベット小文字/大文字/数字/アンダースコア/ピリオド/ハイフンを許可
- 0文字以上(つまり先頭の1文字だけでも良い)
@(アットマーク):
- @{1}
- 連続してはいけない
@以降からトップレベルドメインまで:
- [A-Za-z0-9_.-]{1,}
- アルファベット小文字/大文字/数字/アンダースコア/ピリオド/ハイフンを許可
- 1文字以上
トップレベルドメイン:
- \.[A-Za-z0-9]{1,}$
- アルファベット小文字/大文字/数字を許可
- 1文字以上
これを使って処理を分けるにはmatch()を使ってもいいのですが
ここはBoolean型を返してくれるtest()を使ってみます。
1 2 3 4 5 |
if (regexp.test(address)) { alert("正しいメアドです"); } else { alert("間違ったメアドです"); } |
以上で、JavaScriptの正規表現に関する使い方はおしまいです。