我正在开发一个C#应用程序。
我有一个带有提交按钮的文本输入字段。
当我点击按钮时,我想检查文本是否完整:" CODxxxxx" (X =号)。
其实我有这个:
if (inputText1.ToLower().Contains("COD") && inputText1.Length.ToString() == "8")
{
//DO THINGS
}
但如果字符串为xxxCODxx
,则该语句返回true。
我认为正则表达式可以帮助我,但我从未使用过C#...
答案 0 :(得分:1)
尝试:
inputText1.ToLower().StartsWith("cod") && inputText1.Length == 8
或者,如果你真的想要它与正则表达式, 这将是正确的模式:
Regex.IsMatch( inputText1, "COD\w{5}");
答案 1 :(得分:1)
尝试正则表达式:
bool correct = Regex.IsMatch(inputText1, "^COD[0-9]{5}$");
如果你想忽略大小写(即Cod
,cOD
等应该是正确的),只需添加选项:
bool correct = Regex.IsMatch(inputText1, "^COD[0-9]{5}$", RegexOptions.IgnoreCase);
答案 2 :(得分:1)
您也可以在没有RegEx的情况下解决它
string input = "COD12345";
bool result = input.StartsWith("COD") && input.Skip(3).All(x => char.IsDigit(x)) && input.Length == 8;
答案 3 :(得分:0)
您可以使用正则表达式:
Regex.IsMatch( text, "^COD\\d{5}$");
或您自己的解决方案:
string txt = inputText1.ToLower();
if (txt.StartsWith("cod") && txt.Length == "8")
{
int a = 0;
int.TryParse(txt.Substring(3), out a);
if(a!=0){
//DO THINGS
}
}