регулярное выражение для индийского номера телефона - PullRequest
0 голосов
/ 07 марта 2012

ищу регулярное выражение индийского номера телефона

регулярное выражение должно разрешать все следующие форматы.

для стационарного номера нет

0802404408
080-2404408
+91802404408
+91-802404408

для мобильного телефона нет

8147708287
08147708287
+918147708287
+91-8147708287

Может кто-нибудь помочь мне, спасибо заранее

мой код

[RegexValidator("[0-9 -]*"
, MessageTemplateResourceName = "INVALID_PHONE"
, MessageTemplateResourceType = typeof(ValidatioinErrors))]
public string Phone
{
        get { return phone; }
        set { phone = value; }
}

public bool IsValid()
    {
        return Validation.Validate<Class_name>(this).IsValid;
    }

    public ValidationResults ValResults
    {
        get
        {
            return Validation.Validate<Class_name>(this);
        }
    }

для этой валидации я только что сослался

using Microsoft.Practices.EnterpriseLibrary.Validation;
using Microsoft.Practices.EnterpriseLibrary.Validation.Validators;

в моем пространстве имен, в части пользовательского интерфейса выражение работает нормально, но в приведенном выше коде показано «Неверный номер телефона», если я задаю значение 080-2404408

Ответы [ 3 ]

4 голосов
/ 07 марта 2012

Вы можете попробовать

^\+?[0-9-]+$

См. здесь на Regexr

Важными частями являются якоря ^ и $ для начала и конца строки. Я добавил также \+? в начале, чтобы соответствовать необязательному +. + необходимо экранировать, поскольку он является специальным символом в регулярном выражении, ? после того, как делает его необязательным.

Конечно, это очень простая модель, помните, что, например, «-----» также будет действительным.

2 голосов
/ 07 марта 2012

Для приведенных примеров следующие работы RegEx:

/^(?:\+91(?:-)?|0\d{2,4}-|0|)\d{7,10}$/
0 голосов
/ 07 марта 2012

Вы можете использовать другой сайт для справки, например http://www.jslab.dk/tools.regex.php, чтобы сгенерировать регулярное выражение для ваших требований или загрузить пробную версию этого программного обеспечения RegexMagic

Генератор регулярных выражений

...