Web/PHP
[self] 클래스 데이터체크
aucd29
2013. 9. 26. 21:38
<?
class dataCheck
{
var $objCommon;
function dataCheck()
{
$this->objCommon = & $GLOBALS[objCommon];
}
# 주민번호 체크
function juminNum($szFstNum, $szLstNum)
{
$szJuminNum = $szFstNum.$szLstNum;
$szLastNum = substr($szJuminNum,12,1);
$szAddNum = "234567892345";
$nNumLength = strlen($szJuminNum);
$nTotSum = 0;
$rtn = TRUE;
if (13 != $nNumLength)
{
$rtn = FALSE;
}
else
{
for($i=0; $i < 12; $i++)
{
$nTotSum = $nTotSum + (substr($szJuminNum,$i,1) * substr($szAddNum,$i,1));
}
$nChkResult = 11 - ($nTotSum % 11);
if(10 == $nChkResult)
{
$nChkResult = 0;
}
else if(11 == $nChkResult)
{
$nChkResult = 1;
}
if($nChkResult != $szLastNum)
{
$rtn = FALSE;
}
}
return $rtn;
}
# 메일체크
function mailChk($szChkMail)
{
$szChkMail = trim($szChkMail);
$rtn = eregi("(^[_0-9a-z]+(\.[_0-9a-z]+)*@[0-9a-z]+(\.[0-9a-z]+)*$)",$szChkMail);
if( !$rtn ) $this->objCommon->msg('메일이 잘못되있습니다.');
}
# url 체크
function urlChk($szChkUrl)
{
$szChkUrl = trim($szChkUrl);
$rtn = eregi("^http://([a-z0-9\_\-\./~@?=&-\#{5,}]+)",$szChkUrl);
if( !$rtn ) $this->objCommon->msg('잘못된 URL 입니다.');
}
# 숫자 체크
function numChk($szStr, $name)
{
$rtn = eregi("^[0-9]+$",$szStr);
if( !$rtn ) $this->objCommon->msg($name.'은 숫자가 아닙니다.');
}
# 숫자,영문체크
function strChk($szStr, $name)
{
$rtn = eregi("^[0-9a-z]+$",$szStr);
if( !$rtn ) $this->objCommon->msg($name.'은 영문/숫자조합만 가능합니다.');
}
# 한글인지검사
function strKrChk( $str, $name )
{
$rtn = eregi("^[a-z]+$",$str);
if( $rtn ) $this->objCommon->msg( $name.'은 한글만 가능합니다');
}
# 공백검사
function isBlank( $str, $name )
{
if(!eregi("([^[:space:]]+)", $str) || ereg("([[:space:]]+)",$str))
$this->objCommon->msg( $name.'에 공백문자열이 있으면 안된다.');
}
# 최소 최대 체크
function sizeChk( $nSmall, $nLarge, $str, $name )
{
if(eregi("[[:alnum:]+]{ $nSmall, $nLarge }",$str))
{
$this->objCommon->msg( "$name 은 최소 $nSmall 최대 $nLarge 자여야합니다" );
}
}
# 사업자번호 체크
function OfficeNumChk($szFstNum,$szScdNum,$szLastNum)
{
$szOfficeNum = $szFstNum.$szScdNum.$szLastNum;
$szLastNum = substr($szOfficeNum,9,1);
$szAddNum = "13713713";
$nNumLength = strlen($szOfficeNum);
$nTotNum = 0;
$rtn = TRUE;
if($nNumLength != 10) {
$rtn = FALSE;
}
for($i=0; $i < 8;$i++) {
$nTotSum = $nTotSum + (substr($szOfficeNum,$i,1) * substr($szAddNum,$i,1));
}
$szNineValue = (string)(substr($szOfficeNum,8,1) * 5);
$szNineLen = strlen($szNineValue);
if(2 > $szNineLen) {
$nTotSum = $nTotSum + $szNineValue[0];
} else{
$nTotSum = $nTotSum + $szNineValue[0] + $szNineValue[1];
}
$nTotSum = (string)($nTotSum);
$nTotSumLen = strlen($nTotSum);
$nChkResult = 10 - ($nTotSum[$nTotSumLen - 1]);
if($nChkResult != $szLastNum) {
$rtn = FALSE;
}
return $rtn;
}
}
if( !$objDataChk )
{
$objDataChk = & new dataCheck;
}
?>
class dataCheck
{
var $objCommon;
function dataCheck()
{
$this->objCommon = & $GLOBALS[objCommon];
}
# 주민번호 체크
function juminNum($szFstNum, $szLstNum)
{
$szJuminNum = $szFstNum.$szLstNum;
$szLastNum = substr($szJuminNum,12,1);
$szAddNum = "234567892345";
$nNumLength = strlen($szJuminNum);
$nTotSum = 0;
$rtn = TRUE;
if (13 != $nNumLength)
{
$rtn = FALSE;
}
else
{
for($i=0; $i < 12; $i++)
{
$nTotSum = $nTotSum + (substr($szJuminNum,$i,1) * substr($szAddNum,$i,1));
}
$nChkResult = 11 - ($nTotSum % 11);
if(10 == $nChkResult)
{
$nChkResult = 0;
}
else if(11 == $nChkResult)
{
$nChkResult = 1;
}
if($nChkResult != $szLastNum)
{
$rtn = FALSE;
}
}
return $rtn;
}
# 메일체크
function mailChk($szChkMail)
{
$szChkMail = trim($szChkMail);
$rtn = eregi("(^[_0-9a-z]+(\.[_0-9a-z]+)*@[0-9a-z]+(\.[0-9a-z]+)*$)",$szChkMail);
if( !$rtn ) $this->objCommon->msg('메일이 잘못되있습니다.');
}
# url 체크
function urlChk($szChkUrl)
{
$szChkUrl = trim($szChkUrl);
$rtn = eregi("^http://([a-z0-9\_\-\./~@?=&-\#{5,}]+)",$szChkUrl);
if( !$rtn ) $this->objCommon->msg('잘못된 URL 입니다.');
}
# 숫자 체크
function numChk($szStr, $name)
{
$rtn = eregi("^[0-9]+$",$szStr);
if( !$rtn ) $this->objCommon->msg($name.'은 숫자가 아닙니다.');
}
# 숫자,영문체크
function strChk($szStr, $name)
{
$rtn = eregi("^[0-9a-z]+$",$szStr);
if( !$rtn ) $this->objCommon->msg($name.'은 영문/숫자조합만 가능합니다.');
}
# 한글인지검사
function strKrChk( $str, $name )
{
$rtn = eregi("^[a-z]+$",$str);
if( $rtn ) $this->objCommon->msg( $name.'은 한글만 가능합니다');
}
# 공백검사
function isBlank( $str, $name )
{
if(!eregi("([^[:space:]]+)", $str) || ereg("([[:space:]]+)",$str))
$this->objCommon->msg( $name.'에 공백문자열이 있으면 안된다.');
}
# 최소 최대 체크
function sizeChk( $nSmall, $nLarge, $str, $name )
{
if(eregi("[[:alnum:]+]{ $nSmall, $nLarge }",$str))
{
$this->objCommon->msg( "$name 은 최소 $nSmall 최대 $nLarge 자여야합니다" );
}
}
# 사업자번호 체크
function OfficeNumChk($szFstNum,$szScdNum,$szLastNum)
{
$szOfficeNum = $szFstNum.$szScdNum.$szLastNum;
$szLastNum = substr($szOfficeNum,9,1);
$szAddNum = "13713713";
$nNumLength = strlen($szOfficeNum);
$nTotNum = 0;
$rtn = TRUE;
if($nNumLength != 10) {
$rtn = FALSE;
}
for($i=0; $i < 8;$i++) {
$nTotSum = $nTotSum + (substr($szOfficeNum,$i,1) * substr($szAddNum,$i,1));
}
$szNineValue = (string)(substr($szOfficeNum,8,1) * 5);
$szNineLen = strlen($szNineValue);
if(2 > $szNineLen) {
$nTotSum = $nTotSum + $szNineValue[0];
} else{
$nTotSum = $nTotSum + $szNineValue[0] + $szNineValue[1];
}
$nTotSum = (string)($nTotSum);
$nTotSumLen = strlen($nTotSum);
$nChkResult = 10 - ($nTotSum[$nTotSumLen - 1]);
if($nChkResult != $szLastNum) {
$rtn = FALSE;
}
return $rtn;
}
}
if( !$objDataChk )
{
$objDataChk = & new dataCheck;
}
?>