Login   Register  
PHP Classes
elePHPant
Icontem

File: validate.class.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Sven Wagener  >  Validate String  >  validate.class.php  >  Download  
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, ...)
Author: By
Last change: Changed mail address
Date: 10 years ago
Size: 5,793 bytes
 

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);
    }
}
?>