一応以下のように拡張して使っています。
是非取り入れて頂けると幸いです。
-----------------------------------
class CValidate extends CObject
{
function notempty( $data, $errmsg = \"\" )
{
return $this->_check( ( $data !== \'\' ), $errmsg );
}
function len( $data, $min, $max, $errmsg = \"\" )
{
$len = strlen( $data );
$ret = ( $min <= $len && $len <= $max ) ? 1 : 0;
return $this->_check( $ret, $errmsg );
}
function number( $data, $errmsg = \"\" )
{
if(empty($data)){
$data = TRUE;
}else {
$data = is_numeric( $data );
}
return $this->_check( $data , $errmsg );
}
function eisu( $data, $errmsg = \"\" )
{
if(empty($data)){
$data = TRUE;
}else {
$data = preg_match(\"/^[0-9a-zA-Z]+$/\",$data);
}
return $this->_check( $data , $errmsg );
}
function email( $data, $errmsg = \"\" )
{
if(empty($data)){
$data = TRUE;
}else {
$data = preg_match( \'/\\\\A(?:^([a-z0-9][a-z0-9_\\\\-\\\\.\\\\+]*)@([a-z0-9][a-z0-9\\\\.\\\\-]{0,63}\\\\.(com|org|net|biz|info|name|net|pro|aero|coop|museum|[a-z]{2,4}))$)\\\\z/i\', $data );
}
return $this->_check( $data , $errmsg );
}
function kigou( $data, $errmsg = \"\" )
{
if(empty($data)){
$data = TRUE;
}else {
$data = preg_match(\"/^[!-~]+$/\",$data);
}
return $this->_check( $data , $errmsg );
}
function url( $data, $errmsg = \"\" )
{
if(empty($data)){
$data = TRUE;
}else {
$data = preg_match(\'/^(https?|ftp)(:\\/\\/[-_.!~*\\\'()a-zA-Z0-9;\\/?:\\@&=+\\$,%#]+)$/\',$data);
}
return $this->_check( $data , $errmsg );
}
function zenkaku( $data, $errmsg = \"\" )
{
if(empty($data)){
$data = TRUE;
}else {
$data = preg_match(\"/^[^!-~]+$/\",$data);
}
return $this->_check( $data , $errmsg );
}
function _check( $b, $errmsg )
{
if( $b )
{
if( $errmsg ) return \"\";
else return TRUE;
}
else
{
if( $errmsg ) return $errmsg;
else return FALSE;
}
}
}
|