使用.net c#验证windows窗体应用程序中的印度电话号码?

使用.net c#验证windows窗体应用程序中的印度电话号码?,c#,.net,winforms,validation,C#,.net,Winforms,Validation,我正在用.net c#开发一个windows窗体应用程序,我想知道的是,如果用户在文本框中输入,如何验证印度电话号码。印度手机号码的标准格式是+91(国家代码),后跟10位数字 +91 XXXXXXXXXX 只需检查是否遵循了这一点。如果是陆地电话号码,检查就很困难。或者你可能会得到外部网站,可以验证你的号码 您所能做的就是检查国家代码是否完全匹配。剩下的都是数字,一共有10个。不允许使用其他字符。在印度,我们不使用-来分隔数字印度移动电话号码的标准格式是+91(国家代码),后跟10位数字 +

我正在用.net c#开发一个windows窗体应用程序,我想知道的是,如果用户在文本框中输入,如何验证印度电话号码。

印度手机号码的标准格式是+91(国家代码),后跟10位数字

+91 XXXXXXXXXX
只需检查是否遵循了这一点。如果是陆地电话号码,检查就很困难。或者你可能会得到外部网站,可以验证你的号码


您所能做的就是检查国家代码是否完全匹配。剩下的都是数字,一共有10个。不允许使用其他字符。在印度,我们不使用-来分隔数字

印度移动电话号码的标准格式是+91(国家代码),后跟10位数字

+91 XXXXXXXXXX
只需检查是否遵循了这一点。如果是陆地电话号码,检查就很困难。或者你可能会得到外部网站,可以验证你的号码

您所能做的就是检查国家代码是否完全匹配。剩下的都是数字,一共有10个。不允许使用其他字符。在印度,我们不使用-来分隔c中的数字

,你需要一个正则表达式来检查+91后跟10个数字

也可能值得检查0091后跟10位数字

编辑
为了完整性起见,在c语言中,下面的方法可以执行
(\+91 | 0091)\d{10}

,您需要一个正则表达式来检查+91后跟10位数字

也可能值得检查0091后跟10位数字

编辑

为了完整性起见,下面的方法可以执行
(\+91 | 0091)\d{10}

您可以使用正则表达式 e、 g


然后,您可以使用rx.IsMatch来验证输入字符串。

您可以使用正则表达式 e、 g


然后,您可以使用rx.IsMatch验证输入字符串。

System.Text.RegularExpressions.Regex expr

    public bool email(string email)
    {
        expr =new  Regex(@"^[a-zA-Z][\w\.-]{2,28}[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$");
        if (expr.IsMatch(email))
        {
            return true;
        }
        else return false;
    }
    public bool phone(string no)
    {
        expr = new Regex(@"^((\+){0,1}91(\s){0,1}(\-){0,1}(\s){0,1}){0,1}9[0-9](\s){0,1}(\-){0,1}(\s){0,1}[1-9]{1}[0-9]{7}$");
        if (expr.IsMatch(no))
        {
            return true;
        }
        else return false;
    }

System.Text.RegularExpressions.Regex expr

    public bool email(string email)
    {
        expr =new  Regex(@"^[a-zA-Z][\w\.-]{2,28}[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$");
        if (expr.IsMatch(email))
        {
            return true;
        }
        else return false;
    }
    public bool phone(string no)
    {
        expr = new Regex(@"^((\+){0,1}91(\s){0,1}(\-){0,1}(\s){0,1}){0,1}9[0-9](\s){0,1}(\-){0,1}(\s){0,1}[1-9]{1}[0-9]{7}$");
        if (expr.IsMatch(no))
        {
            return true;
        }
        else return false;
    }

我尝试了以上提到的所有方法,但都不适合我。。。所以我制定了自己的代码:-

它肯定会起作用:
如果您喜欢,请向上投票!:)

我尝试了上述所有方法,但都没有奏效。。。所以我制定了自己的代码:-

它肯定会起作用:

如果您喜欢,请向上投票!:)

您没有指定此电话格式的格式,也没有在标签中写入c。这个问题太模糊了。@vulkanino,你看,我在问题里写了c#。连接一个调制解调器,然后拨号码。。。。只是开玩笑,你想验证什么?格式是否正确-是否要包含扩展名、国家/地区代码等,您需要更详细一些specific@dice,包括国家代码only@dice例如:文本框应接受如下数字(+919821808807)。您没有指定此电话格式的格式,也没有在标记中写入c。这个问题太模糊了。@vulkanino,你看,我在问题里写了c#。连接一个调制解调器,然后拨号码。。。。只是开玩笑,你想验证什么?格式是否正确-是否要包含扩展名、国家/地区代码等,您需要更详细一些specific@dice,包括国家代码only@dice例如:文本框应该接受这样的数字(+919821808807)。感谢Dipesh的帮助,如果您有值为“+31(0)12-1234567”的字符串。这是电话号码的正确符号。如何使用Regex进行验证?我已经尝试过:phonePattern=newregex(@“\+\d{3}?”(\0)\d*\-\d*);我错了什么?谢谢Dipesh的帮助,如果您有值为“+31(0)12-1234567”的字符串。这是电话号码的正确符号。如何使用Regex进行验证?我已经尝试过:phonePattern=newregex(@“\+\d{3}?”(\0)\d*\-\d*);我做错了什么?是的!这是一个很棒的解决方案!谢谢如果你对这个国家有信心,那么为什么不硬编码+91呢?有一些更简单的方法,比如将文本框字符限制为10等。请查看任何用于电话号码验证的正则表达式。现在,你真是帮了大忙。我现在正在研究你给出的解决方案。是的!这是一个很棒的解决方案!谢谢如果你对这个国家有信心,那么为什么不硬编码+91呢?有一些更简单的方法,比如将文本框字符限制为10等。请查看任何用于电话号码验证的正则表达式。现在,你真是帮了大忙。我现在正在研究你给出的解决方案。