PHP Classes
Icontem

File: validate.class.php


  Search   All class groups All class groups   Latest entries Latest entries   Top 10 charts Top 10 charts   Newsletter Newsletter   Blog Blog   Forums Forums   Help FAQ Help FAQ  
  Login   Register  
Recommend this page to a friend! ReTweet ReTweet Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Sven Wagener  >  Validate String  >  validate.class.php  
File: validate.class.php
Role: Class source
Content type: text/plain
Description: The main validation class
Class: Validate String
This class validate string types (urls,email, ...)
 

Contents

Class file image Download
<?php
/**
* Validation class for validation of misc strings
*
* @author    Sven Wagener <wagener_at_indot_de>
* @include      Funktion:_include_
*/
class validate{
    var 
$country_code;
    var 
$string;

    
/**
        * Regular expressions for postcode of the following countries
        * at = austria
        * au = australia
        * ca = canada
        * de = german
        * ee = estonia
        * nl = netherlands
        * it = italy
        * pt = portugal
        * se = sweden
        * uk = united kingdom
        * us = united states
        **/
    
var $pattern_postcode=array(
           
'at'=>'^[0-9]{4,4}$',
           
'au'=>'^[2-9][0-9]{2,3}$',
           
'ca'=>'^[a-zA-Z].[0-9].[a-zA-Z].\s[0-9].[a-zA-Z].[0-9].',
           
'de'=>'^[0-9]{5,5}$',
           
'ee'=>'^[0-9]{5,5}$',
           
'nl'=>'^[0-9]{4,4}\s[a-zA-Z]{2,2}$',
           
'it'=>'^[0-9]{5,5}$',
           
'pt'=>'^[0-9]{4,4}-[0-9]{3,3}$',
           
'se'=>'^[0-9]{3,3}\s[0-9]{2,2}$',
           
'uk'=>'^([A-Z]{1,2}[0-9]{1}[0-9A-Z]{0,1}) ?([0-9]{1}[A-Z]{1,2})$',
           
'us'=>'^[0-9]{5,5}[\-]{0,1}[0-9]{4,4}'

        
);
    
    var 
$pattern_email='^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$ ';
    var 
$pattern_ip='([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})';
    var 
$pattern_url='^(http|ftp)://(www\.)?.+\.(com|net|org)$';
    
    
/**
    * The constructor of the validation class
    * @param string $string the string which have to be validated
    * @desc The constructor of the validation class
    */    
    
function validate($string){
        
$this->string=$string;
    }

    
/**
    * Validates the string if it consists of alphabetical chars
    * @param int $num_chars the number of chars in the string
    * @param string $behave defines how to check the string: min, max or exactly number of chars
    * @desc Validates the string if it consists of alphabetical chars
    */    
    
function alpha($num_chars,$behave){
        if(
$behave=="min"){
            
$pattern="^[a-zA-Z]{".$num_chars.",}$";
        }else if (
$behave=="max"){
            
$pattern="^[a-zA-Z]{0,".$num_chars."}$";
        }else if (
$behave=="exactly"){
            
$pattern="^[a-zA-Z]{".$num_chars.",".$num_chars."}$";
        }
        return 
ereg($pattern,$this->string);
    }
    
    
/**
    * Validates the string if it consists of lowercase alphabetical chars
    * @param int $num_chars the number of chars in the string
    * @param string $behave defines how to check the string: min, max or exactly number of chars
    * @desc Validates the string if it consists of lowercase alphabetical chars
    */    
    
function alpha_lowercase($num_chars,$behave){
        if(
$behave=="min"){
            
$pattern="^[a-z]{".$num_chars.",}$";
        }else if (
$behave=="max"){
            
$pattern="^[a-z]{0,".$num_chars."}$";
        }else if (
$behave=="exactly"){
            
$pattern="^[a-z]{".$num_chars.",".$num_chars."}$";
        }
        return 
ereg($pattern,$this->string);
        
    }
    
    
/**
    * Validates the string if it consists of uppercase alphabetical chars
    * @param int $num_chars the number of chars in the string
    * @param string $behave defines how to check the string: min, max or exactly number of chars
    * @desc Validates the string if it consists of uppercalse alphabetical chars
    */    
    
function alpha_uppercase($num_chars,$behave){
        if(
$behave=="min"){
            
$pattern="^[A-Z]{".$num_chars.",}$";
        }else if (
$behave=="max"){
            
$pattern="^[A-Z]{0,".$num_chars."}$";
        }else if (
$behave=="exactly"){
            
$pattern="^[A-Z]{".$num_chars.",".$num_chars."}$";
        }
        return 
ereg($pattern,$this->string);
        
    }
    
    
/**
    * Validates the string if it consists of numeric chars
    * @param int $num_chars the number of chars in the string
    * @param string $behave defines how to check the string: min, max or exactly number of chars
    * @desc Validates the string if it consists of numeric chars
    */    
    
function numeric($num_chars,$behave){
        if(
$behave=="min"){
            
$pattern="^[0-9]{".$num_chars.",}$";
        }else if (
$behave=="max"){
            
$pattern="^[0-9]{0,".$num_chars."}$";
        }else if (
$behave=="exactly"){
            
$pattern="^[0-9]{".$num_chars.",".$num_chars."}$";
        }
        return 
ereg($pattern,$this->string);
    }
    
    
/**
    * Validates the string if it consists of alphanumerical chars
    * @param int $num_chars the number of chars in the string
    * @param string $behave defines how to check the string: min, max or exactly number of chars
    * @desc Validates the string if it consists of alphanumerical chars
    */        
    
function alpha_numeric($num_chars,$behave){
        if(
$behave=="min"){
            
$pattern="^[0-9a-zA-Z]{".$num_chars.",}$";
        }else if (
$behave=="max"){
            
$pattern="^[0-9a-zA-Z]{0,".$num_chars."}$";
        }else if (
$behave=="exactly"){
            
$pattern="^[0-9a-zA-Z]{".$num_chars.",".$num_chars."}$";
        }
        return 
ereg($pattern,$this->string);
    }

    
/**
    * Validates the string if its a valid postcode
    * @param string $country_code the country code for the country of the postcode (de,en)
    * @desc Validates the string if its a valid postcode
    */    
    
function postcode($country_code){
        if(
array_key_exists($country_code,$this->pattern_postcode)){
            return 
ereg($this->pattern_postcode[$country_code],$this->string);
        }else{
            return 
false;
        }
    }

    
/**
    * Validates the string if its a valid email address
    * @desc Validates the string if its a valid email adress
    */    
    
function email(){
        return 
ereg($this->pattern_email,$this->string);
    }
    
    
/**
    * Validates the string if its a valid ip address
    * @desc Validates the string if its a valid ip address
    */    
    
function ip_address(){
        return 
ereg($this->pattern_ip,$ip);
    }
    
    
/**
    * Validates the string if its a valid URL
    * @desc Validates the string if its a valid URL
    */    
    
function url(){
        return 
ereg($this->pattern_url,$ip);
    }
}
?>

 
  Advertise on this site Advertise on this site   Site map Site map   Statistics Statistics   Site tips Site tips   Privacy policy Privacy policy   Contact Contact  

For more information send a message to :
info at phpclasses dot org.
Copyright (c) Icontem 1999-2009 PHP Classes - PHP Class Scripts
  PHP Book Reviews - Reviews of books and other products