Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 文本框,该文本框必须至少包含一组带数字或不带数字的字符_C#_Windows Phone 8 - Fatal编程技术网

C# 文本框,该文本框必须至少包含一组带数字或不带数字的字符

C# 文本框,该文本框必须至少包含一组带数字或不带数字的字符,c#,windows-phone-8,C#,Windows Phone 8,我正在windows phone 8上制作注册表,其中一个字段是用户名,该字段应至少包含一组带数字的字符,但不能仅包含数字,也不能包含特殊字符。我可以使用username.Text.Any(char.IsDigit)和username.Text.Any(char.isleter)`但是我将如何验证字符数和无特殊字符,请看一下正则表达式 用于匹配w/C# 为了获得帮助,构建表达式是一个很好的起点。如果我正确理解您的问题。用户名必须遵循以下规则: 1) 不能包含任何特殊字符 2) 必须同时包含字符和

我正在windows phone 8上制作注册表,其中一个字段是用户名,该字段应至少包含一组带数字的字符,但不能仅包含数字,也不能包含特殊字符。我可以使用username.Text.Any(char.IsDigit)
username.Text.Any(char.isleter)`但是我将如何验证字符数和无特殊字符,请看一下正则表达式

用于匹配w/C#


为了获得帮助,构建表达式是一个很好的起点。

如果我正确理解您的问题。用户名必须遵循以下规则:

1) 不能包含任何特殊字符

2) 必须同时包含字符和数字(例如,不能仅包含数字123,或仅包含字符)

我认为以下几点适合你:

    private bool ValidateUserName(string Name)
    {
        bool temp = false;

        if (Name.All(char.IsLetterOrDigit) && Name.Any(char.IsDigit) && !Name.All(char.IsDigit)) temp = true;

        return temp;
    }
条件的第一部分确保没有特殊字符,第二部分至少有一个数字,最后一部分不是所有数字。这对我来说适用于以下情况:

        bool isValid = false;

        string userName = "Kevin123";
        isValid = ValidateUserName(userName);  //true
        userName = "kevinrules";  
        isValid = ValidateUserName(userName);  //false
        userName = "kevin!123";
        isValid = ValidateUserName(userName);  //false
        userName = "12345";
        isValid = ValidateUserName(userName);  //false

如果我误解了规则,请告诉我。

基于我对Regex有限的经验,我将执行for()循环,并检查数组中的每个字符是否符合要求。。。但是使用Regex()可能会更快。也许是对否决票的评论,这怎么不是一个有效的解决方案,OP显然已经在代码中了(从文本的使用来看。任何)我认为这不值得一个负面分数,实际上也是我对这个问题的第一个想法,所以,向上投票,使您至少达到0。好的,然后您将去掉if的中间条件。