ブログ

2020/03/09
【プリザンター】 第34回)メールアドレスの形式チェックのスクリプト

メールアドレスの入力間違い

こんにちは、CCS田中です。

お客様情報などのデータを登録するときに、メールアドレスを登録されるケースが多いと思います。ちょっとしたタイプミスで発生する誤りを防ぐために形式チェック(バリデーションチェック)というものがあります。
メールアドレスの形式は、RFCで定義されており、それに従っていないものはメールとして送信できませんので、このRFCに従ってスクリプトを用いて正規表現で記載することで、間違った場合はエラーを出す等の制御が可能です。

RFCには、文字数制限(@の前のユーザ名部分や@以降のドメイン部分)や使用できる文字が細かく定義されていますが、今回は便宜上、簡易的に想定した書式となっていない場合にエラーとするものを作成してみます。

メールアドレスのバリデーションチェックスクリプト

まずは前提条件として、記録テーブルに「説明A」を使って、メールアドレスを入力する項目を作成しておきます。

1.対象のテーブルを開いて、画面上部のメニューから「管理」→「テーブルの管理」をクリックします。
2.「スクリプト」タブを選択して、「新規作成」ボタンをクリックします。
3.スクリプトのウィンドウで、[タイトル]に「バリデーションチェック」などとし、スクリプトは以下を記載します。
4.[出力先]は、一度「全て」のチェックを外して、各項目が表示されたら「新規作成」と「編集」にだけチェックをします。
5.「追加」ボタンをクリックします。
6.スクリプトタブに戻ったら、「更新」ボタンをクリックします。

記載するスクリプト


$(document).on('focusout', '#Results_DescriptionA', function () {
var str = $("#Results_DescriptionA").val();
var ret = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
if (!ret.test(str)) {
alert('メールアドレスの書式が間違っています');
}
});



スクリプトの説明
1行目は、説明Aのところのフォーカスが外れたら動作するように設定しています。
2行目で、説明Aの値を代入しています。
3行目で、正規表現を使ってメールアドレスの形式になっているようにチェック変数を指定しています。
4行目で、チェック用の内容に合っていない場合は、5行目のアラートを表示するようにしています。

正規表現については、説明が多くなるためここでは割愛します。
RFC準拠ではないメールアドレスとする場合は、上記の記載を使用してもらうのがよいと思います。ただし文字数の制約などは入っていないのでご注意ください。

まとめ

さて、いかがでしたか?

メールアドレスの形式チェックのスクリプトについて説明しました。メールアドレス以外にも各会社で決まった命名ルールなどもあるのではないでしょうか?そんなときに間違って入力させないように今回のサンプルを参考に、ぜひ試してみてください。

導入の支援、スクリプト開発などでお困りの場合は、当社で支援もいたします。

☆☆ブログ内容への質問や追加説明をご希望の方は
【問い合わせフォーム】 こちら からお気軽にお問い合わせください☆☆

PAGE TOP