else if (vReadData.Length==14 && vReadData Is Numeric)
{
if (txtIPLoad_MHEBarcode1.Text == "")
{
txtIPLoad_MISBarcode1.Text = vReadData;
txtIPLoad_MHEBarcode1.Focus();
}
else
{
txtIPLoad_MISBarcode2.Text = vReadData;
txtIPLoad_MHEBarcode2.Focus();
}
mMessage("Scan", "Please scan the MHE Barcode!");
return;
}
这是我验证文本框的代码。我检查长度应该是14个字符的条件。我还必须检查变量vReadData中的输入必须是数字(仅限数字)。 请帮我解决这个问题。
我尝试过使用
else if (Int64.TryParse(vReadData, out num))
但这对我没有帮助。
答案 0 :(得分:1)
您是否正在寻找正则表达式?
else if (Regex.IsMatch(vReadData, @"^[0-9]{14}$")) {
// vReadData is a string of exactly 14 digits [0..9]
}
说明:我们必须匹配两个条件
14
个字符 将两个条件合并到 one 后,我们可以说我们正在寻找一个由14
数字组成的字符串[0-9]
(请注意,我们希望[0-9]
不是\d
,因为.Net中的\d
表示任何数字,包括说波斯语)
试验:
string vReadData = @"B2MX15235687CC";
// vReadData = @"12345678901234";
if (Regex.IsMatch(vReadData, @"^[0-9]{14}$"))
Console.Write("Valid");
else
Console.Write("InValid");
结果:
InValid
如果你取消注释你将得到的行
Valid