我如何验证字符串,但不使用正则表达式.例如,如何验证这个:xxx/xxxx其中x是一个数字?谢谢
像这样的东西:
bool ValidateExpression(string expression)
{
string[] parts = expression.Split("/");
if (
parts.Length != 2
|| parts[0].Length != 3
|| parts[1].Length != 4
) return false;
int parsed;
return Int32.TryParse(parts[0], out parsed) && Int32.TryParse(parts[1], out parsed);
}
Run Code Online (Sandbox Code Playgroud)
以后用作
bool isValid = ValidateExpression("123/4567");
Run Code Online (Sandbox Code Playgroud)
您可以使用Char.IsDigit检查字符是否为数字.对于您的具体情况,您可以这样做:
public bool IsMyStringValid(string myString)
{
foreach(var c in myString)
if(!Char.IsDigit() && !c == '/') return false;
return true;
}
Run Code Online (Sandbox Code Playgroud)
这实际上更具体针对您的情况(3位数,索引3处的一个'/',后跟4位数):
public bool IsMyStringValid(string myString)
{
if(myString.Length != 8) return false;
for(var i = 0; i <8, i++)
if(!Char.IsDigit(myString[i]) || (i == 3 && myString[i] == '/') return false;
return true;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
166 次 |
| 最近记录: |