IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Нужна помощь с регулярными выражениями. (http://www.imho.ws/showthread.php?t=80260)

rootus 21.02.2005 13:30

Нужна помощь с регулярными выражениями.
 
Никак не могу подобрать выражения для:
1. Только цифры, знаки: - () +, от 5 до 20 символов
2. Толко русские и латинские буквы, знаки: ' и пробел, от 3 до 20 символов
3. E-mail

Везде пишут по разному. Сам пробовал собрать, но чё то не всегда срабатывает. Для применения в функции preg_match().

Sheryld 21.02.2005 15:30

примерно так:

1.
Код:

[a-zA-Z-()+]{5,20}
2.
Код:

[а-яА-Яa-zA-Z\' ]{3,20}
3. неоднократно было.

p.s. ничего не проверялось, а писалось из головы.

p.p.s. я последнее время сделал себе такой вот класс:

Код:

class Check
        {
                var $whiteCharList =
                        "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-@,.: ";
                       
                function Check($whiteCharList=null)
                {
                        if ($whiteCharList != null)
                        {
                                $this->whiteCharList = $whiteCharList;
                        }
                }
                function IsEnable($str)
                {
                        if (!empty($this->whiteCharList) && !empty($str))
                        {
                                for($i=0;$i<strlen($str);$i++)
                                {
                                        $pos = strpos($this->whiteCharList ,$str[$i]);
                                        if ($pos === false)
                                        {
                                                return false;
                                        }
                                }
                                return true;
                        }
                        return false;
                }
        }
        class Cyr_Check extends Check //поддержка кириллицы
        {
                var $whiteCharList =
                        "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-@абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ,.: ";
        }

p.p.s. пробелы в середине длинных строк вобщем-то не нужны(это форум постарался).

Aeon 27.02.2005 20:52

Тестировать регулярные выражения удобно здесь: http://www.quanetic.com/regex.php


Часовой пояс GMT +4, время: 14:27.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.