Miha,
seclub.org/forum/post/15237081/ /*
-----------------------------------------------------------------
Проверка корректности ввода NickName
-----------------------------------------------------------------
*/
public static function nickname($var = '', $error_log = false)
{
if (empty($var)) {
$error = lng('error_empty_nickname');
} elseif (mb_strlen($var) < 2 || mb_strlen($var) > 20) {
$error = lng('error_wrong_lenght');
} elseif (self::email($var) === true){
$error = lng('error_email_login');
} elseif (preg_match('/[^\da-zа-я\-\.\ \@\*\(\)\?\!\~\_\=\[\]]+/iu', $var)) {
$error = lng('error_wrong_symbols');
} elseif (preg_match('~(([a-z]+)([а-я]+)|([а-я]+)([a-z]+))~iu', $var)) {
$error = lng('error_double_charset');
} elseif (filter_var($var, FILTER_VALIDATE_INT) !== false && !Vars::$USER_SYS['digits_only']) {
$error = lng('error_digits_only');
} elseif (preg_match("/(.)\\1\\1\\1/", $var)) {
$error = lng('error_recurring_characters');
} else {
return true;
}
if ($error_log) {
self::$error['login'] = $error;
}
return false;
}
Ссылка на пост
21 авг 2012 в 05:17
-----------------------------------------------------------------
Валидация IP адреса
-----------------------------------------------------------------
*/
public static function ip($ip)
{
if (preg_match('#^(?:(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$#', $ip)) {
return true;
}
return false;
}