Changeset 18609 for tmp/version-2_5-test/data/class/SC_CheckError.php
- Timestamp:
- 2010/03/11 10:35:11 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tmp/version-2_5-test/data/class/SC_CheckError.php
r18562 r18609 28 28 */ 29 29 class SC_CheckError { 30 var $arrErr ;30 var $arrErr = array(); 31 31 var $arrParam; 32 32 … … 296 296 } 297 297 298 $total_count = 0;299 298 for($i = 1; $i <= 3; $i++) { 300 299 if(strlen($this->arrParam[$value[$i]]) > 0 && strlen($this->arrParam[$value[$i]]) > $value[4]) { … … 303 302 $this->arrErr[$value[$i]] .= "※ " . $value[0] . $i . "は数字で入力してください。<br />"; 304 303 } 305 $total_count += strlen($this->arrParam[$value[$i]]);306 }307 308 // 合計値チェック309 if ($total_count > TEL_LEN) {310 $this->arrErr[$value[3]] .= "※ " . $value[0] . "は" . TEL_LEN . "文字以内で入力してください。<br />";311 304 } 312 305 } … … 501 494 $count = strlen($this->arrParam[$value[1]]); 502 495 if( ( $count > 0 ) && $value[2] > $count || $value[3] < $count ) { 503 $this->arrErr[$value[1]] = "※ $value[0]は$value[2]桁 〜$value[3]桁で入力して下さい。<br />";496 $this->arrErr[$value[1]] = "※ $value[0]は$value[2]桁~$value[3]桁で入力して下さい。<br />"; 504 497 } 505 498 } … … 525 518 } 526 519 $this->createParam($value); 527 if(strlen($this->arrParam[$value[1]]) > 0 && !ereg("^[^@]+@[^.^@]+\..+", $this->arrParam[$value[1]])) { 520 521 $wsp = '[\x20\x09]'; 522 $vchar = '[\x21-\x7e]'; 523 $quoted_pair = "\\\\(?:$vchar|$wsp)"; 524 $qtext = '[\x21\x23-\x5b\x5d-\x7e]'; 525 $qcontent = "(?:$qtext|$quoted_pair)"; 526 $quoted_string = "\"$qcontent*\""; 527 $atext = '[a-zA-Z0-9!#$%&\'*+\-\/\=?^_`{|}~]'; 528 $dot_atom_text = "$atext+(?:[.]$atext+)*"; 529 $dot_atom = $dot_atom_text; 530 $local_part = "(?:$dot_atom|$quoted_string)"; 531 $domain = $dot_atom; 532 $addr_spec = "${local_part}[@]$domain"; 533 534 $dot_atom_loose = "$atext+(?:[.]|$atext)*"; 535 $local_part_loose = "(?:$dot_atom_loose|$quoted_string)"; 536 $addr_spec_loose = "${local_part_loose}[@]$domain"; 537 538 if (RFC_COMPLIANT_EMAIL_CHECK) { 539 $regexp = "/\A${addr_spec}\z/"; 540 } else { 541 // 携帯メールアドレス用に、..や.@を許容する。 542 $regexp = "/\A${addr_spec_loose}\z/"; 543 } 544 545 if(strlen($this->arrParam[$value[1]]) > 0 && !preg_match($regexp, $this->arrParam[$value[1]])) { 528 546 $this->arrErr[$value[1]] = "※ " . $value[0] . "の形式が不正です。<br />"; 529 547 } … … 723 741 } 724 742 } 743 } 744 745 //誕生日チェック 746 // value[0] = 項目名 747 // value[1] = YYYY 748 // value[2] = MM 749 // value[3] = DD 750 function CHECK_BIRTHDAY($value) { 751 if (isset($this->arrErr[$value[1]])) { 752 return; 753 } 754 755 $this->createParam($value); 756 // 年が入力されている。 757 if ($this->arrParam[$value[1]] > 0) { 758 759 // 年の数字チェック、最小数値制限チェック 760 $this->doFunc(array($value[0].'(年)', $value[1], START_BIRTH_YEAR), array("NUM_CHECK", "MIN_CHECK")); 761 // 上のチェックでエラーある場合、中断する。 762 if (isset($this->arrErr[$value[1]])) { 763 return; 764 } 765 766 // 年の最大数値制限チェック 767 $this->doFunc(array($value[0].'(年)', $value[1], date("Y",strtotime("now"))), array("MAX_CHECK")); 768 // 上のチェックでエラーある場合、中断する。 769 if (isset($this->arrErr[$value[1]])) { 770 return; 771 } 772 } 773 774 // XXX createParam() が二重に呼ばれる問題を抱える 775 $this->CHECK_DATE($value); 725 776 } 726 777
Note: See TracChangeset
for help on using the changeset viewer.