检查扫描的输入值是否只是 C# 中的数字
Check the scanned input value is only numbers in C#
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))
但这对我没有帮助。
您是否在寻找正则表达式?
else if (Regex.IsMatch(vReadData, @"^[0-9]{14}$")) {
// vReadData is a string of exactly 14 digits [0..9]
}
说明:我们必须匹配两个条件
- 字符串应该 正好
14
个字符长
- 应该是一个有效的(non-negative)数字(我怀疑是否存在负条码)
在将两个条件组合成一个之后,我们可以说我们正在寻找一个由14
组成的字符串digits [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
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))
但这对我没有帮助。
您是否在寻找正则表达式?
else if (Regex.IsMatch(vReadData, @"^[0-9]{14}$")) {
// vReadData is a string of exactly 14 digits [0..9]
}
说明:我们必须匹配两个条件
- 字符串应该 正好
14
个字符长 - 应该是一个有效的(non-negative)数字(我怀疑是否存在负条码)
在将两个条件组合成一个之后,我们可以说我们正在寻找一个由14
组成的字符串digits [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