// dp-validate.js --- DigitalPad(c) form validate library -*- javascript -*- // フォーム値チェック() // // 必要なライブラリ // * jQuery //////////////////////////////////////// // フォームチェック // DP.Util.setCheckForm('form1', // [{name: 'パラメタ名', itemname: 'エラーメッセージで使う項目名'}, // {name: 'パラメタ名', type: 'tel/number/mail', itemname: '項目名'} // {name: 'パラメタ名', type: 'tel/number/mail', require: false} // 空を許容。何か入力されればフォーマットチェック // function(form){ /* check */; return false; }, // function も記述可。false を返すと submit を止める // {}]); // コピペしやすいようにダミーオブジェクト(for IE) // // エラーメッセージ // requireerror, typeerror を指定すると、それがエラーメッセージになる。なければ itemname から生成 // {trim: false} で、前後の空白を削除しない // {regulaize: true/false} でデフォルト動作を上書き // {check_func: function(form){ /* check */ return false; } で、チェックをスキップ var DP = { Util: { // 簡易メールアドレスチェック isMailaddr: function(addr) { return addr.match(/^[a-z0-9_\-\+\.]+\@([a-z0-9_\-]+\.)+[a-z0-9_\-]+$/i); }, // マルチバイト英字、一部の記号を ASCII に // regularizeChar(str, {japanese_symbol: false}) regularizeChar: (function() { var conv_char_alpha_number = function(ch) { return String.fromCharCode(ch.charCodeAt() - 0xFEE0); }; // [0-9A-Za-z] var tr_alpha_number = function(s) { return s.replace(/[\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A]/g, conv_char_alpha_number); }; var tr_symbol = function(s) { return s.replace(/[\u2010-\u2015\u2212\uFF0D]/g, '-').replace(/\uFF08/g, '(') .replace(/\uFF09/g, ')').replace(/\u3000/g, ' '); }; // minus, hyphen, space, parenthes var tr_japanese_symbol = function(s) { return s.replace(/\u30FC/g, '-'); }; // 長音記号 return function(str, opt) { var alpha_number = true; var symbol = true; var japanese_symbol = true; if (typeof opt == 'object') { if ('alpha_number' in opt) { alpha_number = !!opt.alpha_number; } if ('symbol' in opt) { symbol = !!opt.symbol; } if ('japanese_symbol' in opt) { japanese_symbol = !!opt.japanese_symbol; } } var ret = str; if (alpha_number) { ret = tr_alpha_number(ret); } if (symbol) { ret = tr_symbol(ret); } if (japanese_symbol) { ret = tr_japanese_symbol(ret); } return ret; }; })() } }; (function($) { DP.Util.setCheckForm = function(form_id, params) { $(function() { var target_form = $('#'+form_id); if (target_form.length) { target_form.submit(function(event) { for(var i=0, params_length=params.length; i