TRegularExpressionValidator validates whether the value of an associated input component matches the pattern specified by a regular expression. You can specify the regular expression by setting the {@link setRegularExpression RegularExpression} property. Some commonly used regular expressions include:
French Phone Number: (0( \d|\d ))?\d\d \d\d(\d \d| \d\d )\d\d
French Postal Code: \d{5}
German Phone Number: ((\(0\d\d\) |(\(0\d{3}\) )?\d )?\d\d \d\d \d\d|\(0\d{4}\) \d \d\d-\d\d?)
German Postal Code: (D-)?\d{5}
Email Address: \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
Japanese Phone Number: (0\d{1,4}-|\(0\d{1,4}\) ?)?\d{1,4}-\d{4}
Japanese Postal Code: \d{3}(-(\d{4}|\d{2}))?
P.R.C. Phone Number: (\(\d{3}\)|\d{3}-)?\d{8}
P.R.C. Postal Code: \d{6}
P.R.C. Social Security Number: \d{18}|\d{15}
U.S. Phone Number: ((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}
U.S. ZIP Code: \d{5}(-\d{4})?
U.S. Social Security Number: \d{3}-\d{2}-\d{4}
Note, the validation succeeds if the associated input control contains empty input. Use a {@link TRequiredFieldValidator} to ensure the input is not empty.
С версии: 3.0
Автор: Qiang Xue (qiang.xue@gmail.com)
Наследование: extends TBaseValidator
Пример #1
0
 /**
  * Returns an array of javascript validator options.
  * @return array javascript validator options.
  */
 public function evaluateIsValid()
 {
     $value = $this->getValidationValue($this->getValidationTarget());
     $valid = $valid = is_string($value) && strlen($value) <= 254 && parent::evaluateIsValid();
     if ($valid && $this->getCheckMXRecord() && function_exists('checkdnsrr')) {
         if ($value !== '') {
             if (($pos = strpos($value, '@')) !== false) {
                 $domain = substr($value, $pos + 1);
                 return $domain === '' ? false : checkdnsrr($domain, 'MX');
             } else {
                 return false;
             }
         }
     }
     return $valid;
 }