Tsukasa Sakaguchi
t-sak****@brain*****
2002年 12月 13日 (金) 22:27:21 JST
さかぐち@brainheartsです。 From: Tsukasa Sakaguchi <t-sak****@brain*****> Date: Fri, 13 Dec 2002 16:05:56 +0900 Subject: [Tep-j-develop] Re: 半角英数字が必要な入力フィールドの処理 説明が少々不十分でしたので、組み込み例を書いておきます 修正するファイルは、 catalog/includes/form_check.js.php です。 -- <script language="javascript"><!-- // 200212 ここから var NUMSTR = new String('0123456789'); var ALPSTR = new String('abcdefghijklmnopqrstuvwxyz' + 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'); var EXPZIP = new RegExp('^[' + NUMSTR + ']{3}(\-?[' + NUMSTR + ']{2}([' + NUMSTR + ']{2})?)?$'); var EXPTEL = new RegExp('([' + NUMSTR + ']+\\-?)?([' + NUMSTR + ']+\\-?)?([' + NUMSTR + ']{4})$'); var EXPEMAIL = new RegExp('^[' + NUMSTR + ALPSTR + '][' + NUMSTR + ALPSTR + '_\\-\\.]*\@[' + NUMSTR + ALPSTR + '][' + NUMSTR + ALPSTR + '_\\-\\.]*\\.[' + ALPSTR + ']+$'); // 郵便番号判定 // I: 文字列 // O: true/false // 3桁/5桁/7桁のいずれかであればOK function IsZipCD(s) { if (s.length == 0) return true; var r = s.replace(EXPZIP, ''); return (r.length == 0) ? true : false; } // 電話番号判定 // I: 文字列 // O: true/false // 任意桁数の数字-任意桁数の数字-4桁の数字 であればOK function IsTelNo(s) { if (s.length == 0) return true; var r = s.replace(EXPTEL, ''); return (r.length == 0) ? true : false; } // E-Mail判定 // I: 文字列 // O: true/false // @ の前に 半角英数字で始まり任意桁数の半角英数字および-_. // @ の後に 半角英数字で始まり任意桁数の半角英数字および-_.が続き .半角英字で終わる function IsEmail(s) { if (s.length == 0) return true; var r = s.replace(EXPEMAIL, ''); return (r.length == 0) ? true : false; } // 200212 ここまで function check_form() { (以下該当箇所まで省略) if (document.account_edit.elements['email_address'].type != "hidden") { if (email_address == '' || email_address.length < <?php echo ENTRY_EMAIL_ADD RESS_MIN_LENGTH; ?>) { error_message = error_message + "<?php echo JS_EMAIL_ADDRESS; ?>"; error = 1; } // 200212 else if (!IsEmail(email_address)) { error_message = error_message + "<?php echo JS_EMAIL_ADDRESS; ?>"; error = 1; } } -- ほかのチェックしたい項目も同様に修正すればいいはずです。 # エラー文言は変更したほうがいいと思います -- BrainHearts Corp. Tsukasa Sakaguchi / t-sak****@brain***** Tel. 045-290-7561