[Tep-j-develop] Re: 半角英数字が必要な入力フィールドの処理

Back to archive index

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



Tep-j-develop メーリングリストの案内
Back to archive index