Source for file Regex.php
Documentation is available at Regex.php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
* Validates values using regular expressions
* LICENSE: This source file is subject to version 3.01 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_01.txt If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
* @package HTML_QuickForm
* @author Bertrand Mansion <bmansion@mamasam.com>
* @copyright 2001-2011 The PHP Group
* @license http://www.php.net/license/3_01.txt PHP License 3.01
* @version CVS: $Id: Regex.php 317587 2011-10-01 07:55:53Z avb $
* @link http://pear.php.net/package/HTML_QuickForm
* Abstract base class for QuickForm validation rules
require_once 'HTML/QuickForm/Rule.php';
* Validates values using regular expressions
* @package HTML_QuickForm
* @author Bertrand Mansion <bmansion@mamasam.com>
* @version Release: 3.2.13
* Array of regular expressions
* Array is in the format:
* $_data['rulename'] = 'pattern';
'lettersonly' => '/^[a-zA-Z]+$/',
'alphanumeric' => '/^[a-zA-Z0-9]+$/',
'numeric' => '/(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/',
'nopunctuation' => '/^[^().\/\*\^\?#!@$%+=,\"\'><~\[\]{}]+$/',
'nonzero' => '/^-?[1-9][0-9]*/'
* Validates a value using a regular expression
* @param string $value Value to be checked
* @param string $regex Regular expression
* @return boolean true if value is valid
function validate($value, $regex = null )
// Fix for bug #10799: add 'D' modifier to regex
if (isset ($this->_data[$this->name])) {
* Adds new regular expressions to the list
* @param string $name Name of rule
* @param string $pattern Regular expression pattern
$this->_data[$name] = $pattern;
$regex = isset ($this->_data[$this->name]) ? $this->_data[$this->name] : $options;
// bug #12376, converting unicode escapes and stripping 'u' modifier
$regex = substr($regex, 0 , $pos) . substr($regex, $pos + 1 );
$regex = preg_replace('/(?<!\\\\)(?>\\\\\\\\)*\\\\x{([a-fA-F0-9]+)}/', '\\u$1', $regex);
return array (" var regex = " . $regex . ";\n", "{jsVar} != '' && !regex.test({jsVar})");
} // end func getValidationScript
} // end class HTML_QuickForm_Rule_Regex
Documentation generated on Sat, 01 Oct 2011 09:00:18 +0000 by phpDocumentor 1.4.3. PEAR Logo Copyright © PHP Group 2004.
|