メールアドレスのバリデーションチェックスクリプト
まずは前提条件として、記録テーブルに「説明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準拠ではないメールアドレスとする場合は、上記の記載を使用してもらうのがよいと思います。ただし文字数の制約などは入っていないのでご注意ください。
メールアドレスの入力間違い
こんにちは、CCS田中です。
お客様情報などのデータを登録するときに、メールアドレスを登録されるケースが多いと思います。ちょっとしたタイプミスで発生する誤りを防ぐために形式チェック(バリデーションチェック)というものがあります。
メールアドレスの形式は、RFCで定義されており、それに従っていないものはメールとして送信できませんので、このRFCに従ってスクリプトを用いて正規表現で記載することで、間違った場合はエラーを出す等の制御が可能です。
RFCには、文字数制限(@の前のユーザ名部分や@以降のドメイン部分)や使用できる文字が細かく定義されていますが、今回は便宜上、簡易的に想定した書式となっていない場合にエラーとするものを作成してみます。