必须至少包含一组带数字或不带数字的字符的文本框
本文关键字:数字 字符 文本 包含一 | 更新日期: 2023-09-27 18:00:05
我正在windows phone 8上制作一个注册表单,其中一个字段是username,它应该至少包含一组带数字或不带数字的字符,但不能只包含数字,也不能包含我可以使用username的特殊字符。Text.Any(char.IsDigit);and
用户名。Text.Any(char.IsLetter)`但是我将如何验证字符和非特殊字符的数量
如果我正确理解你的问题。用户名必须遵循以下规则:
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
如果我误解了规则,请告诉我。
看看正则表达式。
用于匹配w/C#http://msdn.microsoft.com/en-us/library/twcw2f1c%28v=vs.110%29.aspx
寻求构建表达式的帮助http://regexlib.com/是一个很好的起点。