regular expression for indian phone number

穿精又带淫゛_ 提交于 2019-12-25 19:00:14

问题


am looking for the regular expression of indian phone number

the regular expression should allow all the following formats.

for landline no

0802404408
080-2404408
+91802404408
+91-802404408

for mobile no

8147708287
08147708287
+918147708287
+91-8147708287

can anyone help me, thanks in advance

my code is

[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);
        }
    }

for this validation thing I just referred

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

in my namespace, in the UI part the expression is working fine, but in the code behind as above, it shows "Invalid Phone number", if I give value as 080-2404408


回答1:


You can try

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

See it here on Regexr

The important parts are the anchors ^ and $ for the start and the end of the string. I added also \+? at the start, to match an optional +. The + needs to be escaped since it is a special character in regex, the ? after it makes it optional.

Of course this is a very simple pattern, be aware that e.g. "-----" would also be valid.




回答2:


For the examples provided following RegEx works:

/^(?:\+91(?:-)?|0\d{2,4}-|0|)\d{7,10}$/



回答3:


You can use other site for your reference like http://www.jslab.dk/tools.regex.php to generate regular expression for your requirement or download a trial version of this software RegexMagic

Regular Expression generator



来源:https://stackoverflow.com/questions/9596925/regular-expression-for-indian-phone-number

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!