我需要验证一个帐号。它应该只有数字并且有 9 或 10 个字符。我试过这个:
return Regex.IsMatch(id, "[0-9]{9,10}");
但这不能正常工作,因为如果数字是“1234567890blah”,它会返回 true。你能帮忙吗,因为我对正则表达式不太擅长?
谢谢。
您需要指出数字必须是整个字符串。放在^
开头表示它必须是字符串的开头并$
表示它必须是结尾。
return Regex.IsMatch(id, "^[0-9]{9,10}$");
有关更多详细信息,请参阅正则表达式锚。
使用(添加开始和结束字符,^ 和 $ 字符)修改
return Regex.IsMatch(id, "^[0-9]{9,10}$");
这是正则表达式的问题。有更简单和更清晰的解决方案。
string acct = "1234567890";
long temp;
return (acct.Length == 9 || acct.Length == 10)
&& long.TryParse(acct, out temp);