Changeset 22796 for branches/version-2_12-dev/data/class/SC_CheckError.php
- Timestamp:
- 2013/05/02 18:11:36 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_12-dev/data/class/SC_CheckError.php
r22609 r22796 27 27 *---------------------------------------------------------------------- 28 28 */ 29 class SC_CheckError 30 { 29 class SC_CheckError { 31 30 var $arrErr = array(); 32 31 var $arrParam; 33 32 34 33 // チェック対象の値が含まれる配列をセットする。 35 function __construct($array = '') 36 { 34 function __construct($array = '') { 37 35 if ($array != '') { 38 36 $this->arrParam = $array; … … 43 41 } 44 42 45 function doFunc($value, $arrFunc) 46 { 43 function doFunc($value, $arrFunc) { 47 44 foreach ($arrFunc as $key) { 48 45 $this->$key($value); … … 56 53 * @return void 57 54 */ 58 function HTML_TAG_CHECK($value) 59 { 55 function HTML_TAG_CHECK($value) { 60 56 if (isset($this->arrErr[$value[1]])) { 61 57 return; … … 63 59 $this->createParam($value); 64 60 // HTMLに含まれているタグを抽出する 65 $arrTagIncludedHtml = array(); 66 preg_match_all('/<\/?([a-z]+)/i', $this->arrParam[$value[1]], $arrTagIncludedHtml); 67 // 抽出結果を小文字に変換 68 foreach ($arrTagIncludedHtml[1] as $key => $matchedTag) { 69 $arrTagIncludedHtml[1][$key] = strtolower($matchedTag); 70 } 61 preg_match_all('/<\/?([a-z]+)/i', $this->arrParam[$value[1]], $arrTagIncludedHtml = array()); 62 71 63 $arrDiffTag = array_diff($arrTagIncludedHtml[1], $value[2]); 72 64 … … 89 81 * @return void 90 82 */ 91 function EXIST_CHECK($value) 92 { 83 function EXIST_CHECK($value) { 93 84 if (isset($this->arrErr[$value[1]])) { 94 85 return; … … 109 100 * @return void 110 101 */ 111 function EXIST_CHECK_REVERSE($value) 112 { 102 function EXIST_CHECK_REVERSE($value) { 113 103 if (isset($this->arrErr[$value[0]])) { 114 104 return; … … 127 117 * @return void 128 118 */ 129 function SPTAB_CHECK($value) 130 { 119 function SPTAB_CHECK($value) { 131 120 if (isset($this->arrErr[$value[1]])) { 132 121 return; … … 145 134 * @return void 146 135 */ 147 function NO_SPTAB($value) 148 { 136 function NO_SPTAB($value) { 149 137 if (isset($this->arrErr[$value[1]])) { 150 138 return; … … 157 145 158 146 /* ゼロで開始されている数値の判定 */ 159 function ZERO_START($value) 160 { 147 function ZERO_START($value) { 161 148 if (isset($this->arrErr[$value[1]])) { 162 149 return; … … 175 162 * @return void 176 163 */ 177 function SELECT_CHECK($value) 178 { 164 function SELECT_CHECK($value) { 179 165 if (isset($this->arrErr[$value[1]])) { 180 166 return; … … 193 179 * @return void 194 180 */ 195 function EQUAL_CHECK($value) 196 { 181 function EQUAL_CHECK($value) { 197 182 if (isset($this->arrErr[$value[2]]) || isset($this->arrErr[$value[3]])) { 198 183 return; … … 212 197 * @return void 213 198 */ 214 function DIFFERENT_CHECK($value) 215 { 199 function DIFFERENT_CHECK($value) { 216 200 if (isset($this->arrErr[$value[2]]) || isset($this->arrErr[$value[3]])) { 217 201 return; … … 231 215 * @return void 232 216 */ 233 function GREATER_CHECK($value) 234 { 217 function GREATER_CHECK($value) { 235 218 if (isset($this->arrErr[$value[2]]) || isset($this->arrErr[$value[3]])) { 236 219 return; … … 250 233 * @return void 251 234 */ 252 function MAX_LENGTH_CHECK($value) 253 { 235 function MAX_LENGTH_CHECK($value) { 254 236 if (isset($this->arrErr[$value[1]])) { 255 237 return; … … 269 251 * @return void 270 252 */ 271 function MIN_LENGTH_CHECK($value) 272 { 253 function MIN_LENGTH_CHECK($value) { 273 254 if (isset($this->arrErr[$value[1]])) { 274 255 return; … … 288 269 * @return void 289 270 */ 290 function MAX_CHECK($value) 291 { 271 function MAX_CHECK($value) { 292 272 if (isset($this->arrErr[$value[1]])) { 293 273 return; … … 307 287 * @return void 308 288 */ 309 function MIN_CHECK($value) 310 { 289 function MIN_CHECK($value) { 311 290 if (isset($this->arrErr[$value[1]])) { 312 291 return; … … 325 304 * @return void 326 305 */ 327 function NUM_CHECK($value) 328 { 306 function NUM_CHECK($value) { 329 307 if (isset($this->arrErr[$value[1]])) { 330 308 return; … … 343 321 * @return void 344 322 */ 345 function NUM_POINT_CHECK($value) 346 { 323 function NUM_POINT_CHECK($value) { 347 324 if (isset($this->arrErr[$value[1]])) { 348 325 return; … … 354 331 } 355 332 356 function ALPHA_CHECK($value) 357 { 333 function ALPHA_CHECK($value) { 358 334 if (isset($this->arrErr[$value[1]])) { 359 335 return; … … 378 354 * @return void 379 355 */ 380 function TEL_CHECK($value) 381 { 356 function TEL_CHECK($value) { 382 357 $telItemLen = isset($value[4]) ? $value[4] : TEL_ITEM_LEN; 383 358 $telLen = isset($value[5]) ? $value[5] : TEL_LEN; … … 420 395 value[1] : 判定対象要素名 421 396 */ 422 function FULL_EXIST_CHECK($value) 423 { 397 function FULL_EXIST_CHECK($value) { 424 398 $max = count($value); 425 399 $this->createParam($value); … … 449 423 value[1] : 判定対象要素名 450 424 */ 451 function ALL_EXIST_CHECK($value) 452 { 425 function ALL_EXIST_CHECK($value) { 453 426 $max = count($value); 454 427 … … 481 454 value[1] : 判定対象要素名 482 455 */ 483 function ONE_EXIST_CHECK($value) 484 { 456 function ONE_EXIST_CHECK($value) { 485 457 $max = count($value); 486 458 $this->createParam($value); … … 510 482 value[1] : 判定対象要素名 511 483 */ 512 function TOP_EXIST_CHECK($value) 513 { 484 function TOP_EXIST_CHECK($value) { 514 485 $max = count($value); 515 486 $this->createParam($value); … … 544 515 // 入力文字がカナ以外ならエラーを返す 545 516 // value[0] = 項目名 value[1] = 判定対象文字列 546 function KANA_CHECK($value) 547 { 517 function KANA_CHECK($value) { 548 518 if (isset($this->arrErr[$value[1]])) { 549 519 return; … … 558 528 // 入力文字がカナ以外ならエラーを返す 559 529 // value[0] = 項目名 value[1] = 判定対象文字列 560 function KANABLANK_CHECK($value) 561 { 530 function KANABLANK_CHECK($value) { 562 531 if (isset($this->arrErr[$value[1]])) { 563 532 return; … … 572 541 // 入力文字が英数字以外ならエラーを返す 573 542 // value[0] = 項目名 value[1] = 判定対象文字列 574 function ALNUM_CHECK($value) 575 { 543 function ALNUM_CHECK($value) { 576 544 if (isset($this->arrErr[$value[1]])) { 577 545 return; … … 586 554 // 入力文字が英数記号以外ならエラーを返す 587 555 // value[0] = 項目名 value[1] = 判定対象文字列 588 function GRAPH_CHECK($value) 589 { 556 function GRAPH_CHECK($value) { 590 557 if (isset($this->arrErr[$value[1]])) { 591 558 return; … … 600 567 // 入力値で0が許されない場合エラーを返す 601 568 // value[0] = 項目名 value[1] = 判定対象 602 function ZERO_CHECK($value) 603 { 569 function ZERO_CHECK($value) { 604 570 $this->createParam($value); 605 571 if ($this->arrParam[$value[1]] == '0') { … … 611 577 // 入力文字の桁数判定 → 最小桁数<入力文字列<最大桁数 612 578 // value[0] = 項目名 value[1] = 判定対象文字列 value[2] = 最小桁数 value[3] = 最大桁数 613 function NUM_RANGE_CHECK($value) 614 { 579 function NUM_RANGE_CHECK($value) { 615 580 if (isset($this->arrErr[$value[1]])) { 616 581 return; … … 627 592 // 入力文字の桁数判定 → 入力文字列 = 桁数 以外はNGの場合 628 593 // value[0] = 項目名 value[1] = 判定対象文字列 value[2] = 桁数 629 function NUM_COUNT_CHECK($value) 630 { 594 function NUM_COUNT_CHECK($value) { 631 595 if (isset($this->arrErr[$value[1]])) { 632 596 return; … … 647 611 * @return void 648 612 */ 649 function EMAIL_CHECK($value) 650 { 613 function EMAIL_CHECK($value) { 651 614 if (isset($this->arrErr[$value[1]])) { 652 615 return; … … 697 660 // メールアドレスに使用する文字を正規表現で判定する 698 661 // value[0] = 項目名 value[1] = 判定対象メールアドレス 699 function EMAIL_CHAR_CHECK($value) 700 { 662 function EMAIL_CHAR_CHECK($value) { 701 663 if (isset($this->arrErr[$value[1]])) { 702 664 return; … … 711 673 // URLを正規表現で判定する。デフォルトでhttp://があってもOK 712 674 // value[0] = 項目名 value[1] = 判定対象URL 713 function URL_CHECK($value) 714 { 675 function URL_CHECK($value) { 715 676 if (isset($this->arrErr[$value[1]])) { 716 677 return; … … 723 684 /* IPアドレスの判定 */ 724 685 // value[0] = 項目名 value[1] = 判定対象IPアドレス文字列 725 function IP_CHECK($value) 726 { 686 function IP_CHECK($value) { 727 687 if (isset($this->arrErr[$value[1]])) { 728 688 return; … … 747 707 // 受け取りがない場合エラーを返す 748 708 // value[0] = 項目名 value[1] = 判定対象 value[2]=array(拡張子) 749 function FILE_EXT_CHECK($value) 750 { 709 function FILE_EXT_CHECK($value) { 751 710 if (isset($this->arrErr[$value[1]]) || count($value[2]) == 0) { 752 711 return; … … 774 733 // 受け取りがない場合エラーを返す 775 734 // value[0] = 項目名 value[1] = 判定対象 value[2] = 指定ディレクトリ 776 function FIND_FILE($value) 777 { 735 function FIND_FILE($value) { 778 736 if (isset($this->arrErr[$value[1]])) { 779 737 return; … … 798 756 // 受け取りがない場合エラーを返す 799 757 // value[0] = 項目名 value[1] = 判定対象 value[2] = 指定サイズ(KB) 800 function FILE_EXIST_CHECK($value) 801 { 758 function FILE_EXIST_CHECK($value) { 802 759 if (isset($this->arrErr[$value[1]])) { 803 760 return; … … 812 769 // 受け取りがない場合エラーを返す 813 770 // value[0] = 項目名 value[1] = 判定対象 value[2] = 指定サイズ(KB) 814 function FILE_SIZE_CHECK($value) 815 { 771 function FILE_SIZE_CHECK($value) { 816 772 if (isset($this->arrErr[$value[1]])) { 817 773 return; … … 831 787 // 入力文字が英数字,'_','-'以外ならエラーを返す 832 788 // value[0] = 項目名 value[1] = 判定対象文字列 833 function FILE_NAME_CHECK($value) 834 { 789 function FILE_NAME_CHECK($value) { 835 790 if (isset($this->arrErr[$value[1]])) { 836 791 return; … … 845 800 // 入力文字が英数字,'_','-'以外ならエラーを返す 846 801 // value[0] = 項目名 value[1] = 判定対象文字列 847 function FILE_NAME_CHECK_BY_NOUPLOAD($value) 848 { 802 function FILE_NAME_CHECK_BY_NOUPLOAD($value) { 849 803 if (isset($this->arrErr[$value[1]])) { 850 804 return; … … 861 815 // value[2] = MM 862 816 // value[3] = DD 863 function CHECK_DATE($value) 864 { 817 function CHECK_DATE($value) { 865 818 if (isset($this->arrErr[$value[1]])) { 866 819 return; … … 885 838 // value[4] = HH 886 839 // value[5] = mm 887 function CHECK_DATE2($value) 888 { 840 function CHECK_DATE2($value) { 889 841 if (isset($this->arrErr[$value[1]])) { 890 842 return; … … 906 858 // value[1] = YYYY 907 859 // value[2] = MM 908 function CHECK_DATE3($value) 909 { 860 function CHECK_DATE3($value) { 910 861 if (isset($this->arrErr[$value[1]])) { 911 862 return; … … 928 879 // value[2] = MM 929 880 // value[3] = DD 930 function CHECK_BIRTHDAY($value) 931 { 881 function CHECK_BIRTHDAY($value) { 932 882 if (isset($this->arrErr[$value[1]])) { 933 883 return; … … 974 924 // value[6] = end_month 975 925 // value[7] = end_day 976 function CHECK_SET_TERM($value) 977 { 926 function CHECK_SET_TERM($value) { 978 927 979 928 // 期間指定 … … 1025 974 1026 975 /*-----------------------------------------------------------------*/ 1027 function CHECK_SET_TERM2($value) 1028 { 976 function CHECK_SET_TERM2($value) { 1029 977 1030 978 // 期間指定 … … 1069 1017 // value[4] = end_year 1070 1018 // value[5] = end_month 1071 function CHECK_SET_TERM3($value) 1072 { 1019 function CHECK_SET_TERM3($value) { 1073 1020 1074 1021 // 期間指定 … … 1095 1042 1096 1043 //ディレクトリ存在チェック 1097 function DIR_CHECK($value) 1098 { 1044 function DIR_CHECK($value) { 1099 1045 if (isset($this->arrErr[$value[1]])) { 1100 1046 return; … … 1107 1053 1108 1054 // ドメインチェック 1109 function DOMAIN_CHECK($value) 1110 { 1055 function DOMAIN_CHECK($value) { 1111 1056 if (isset($this->arrErr[$value[1]])) { 1112 1057 return; … … 1120 1065 // メールアドレスを正規表現で判定する 1121 1066 // value[0] = 項目名 value[1] = 判定対象メールアドレス 1122 function MOBILE_EMAIL_CHECK($value) 1123 { 1067 function MOBILE_EMAIL_CHECK($value) { 1124 1068 if (isset($this->arrErr[$value[1]])) { 1125 1069 return; … … 1140 1084 * @return void 1141 1085 */ 1142 function CHECK_REGIST_CUSTOMER_EMAIL($value) 1143 { 1086 function CHECK_REGIST_CUSTOMER_EMAIL($value) { 1144 1087 if (isset($this->arrErr[$value[1]])) { 1145 1088 return; … … 1167 1110 * @example $objErr->doFunc(array('URL', 'contents', $arrReviewDenyURL), array('PROHIBITED_STR_CHECK')); 1168 1111 */ 1169 function PROHIBITED_STR_CHECK($value) 1170 { 1112 function PROHIBITED_STR_CHECK($value) { 1171 1113 if (isset($this->arrErr[$value[1]]) || empty($this->arrParam[$value[1]])) { 1172 1114 return; … … 1177 1119 1178 1120 $pattern = '/' . join('|', $prohibitedStr) . '/i'; 1179 if (preg_match_all($pattern, $targetStr, $matches )) {1121 if (preg_match_all($pattern, $targetStr, $matches = array())) { 1180 1122 $this->arrErr[$value[1]] = '※ ' . $value[0] . 'は入力できません。<br />'; 1181 1123 } … … 1189 1131 * @return void 1190 1132 */ 1191 function EVAL_CHECK($value) 1192 { 1133 function EVAL_CHECK($value) { 1193 1134 if (isset($this->arrErr[$value[0]])) { 1194 1135 return; … … 1211 1152 * @return bool パラメーターとして適切な文字列か 1212 1153 */ 1213 function evalCheck($value) 1214 { 1154 function evalCheck($value) { 1215 1155 return @eval('return is_scalar(' . $value . ');'); 1216 1156 } … … 1223 1163 * @return void 1224 1164 */ 1225 function createParam($value) 1226 { 1165 function createParam($value) { 1227 1166 foreach ($value as $key) { 1228 1167 if (is_string($key) || is_int($key)) { … … 1239 1178 * @return boolean 値が10進数の数値表現のみの場合 true 1240 1179 */ 1241 function numelicCheck($string) 1242 { 1180 function numelicCheck($string) { 1243 1181 /* 1244 1182 * XXX 10進数の数値表現か否かを調べたいだけだが,
Note: See TracChangeset
for help on using the changeset viewer.
