验证文本框仅允许输入数字值。

28 浏览
0 Comments

验证文本框仅允许输入数字值。

我有一个电话号码,我希望将其存储为字符串。\n我使用以下代码读取:\ntxtHomePhone.Text\n我认为我需要一种类似于“is numeric”的功能,但是无法使其正常工作。\n

if (txtHomePhone.Text == //something.IsNumeric)
{
    //显示错误
}
else
{
    //继续进行程序的其余部分,即将电话号码添加到程序中。
}

\n允许只输入数字的最佳方法是什么?

0
0 Comments

问题出现的原因:

在验证一个文本框只允许输入数字值时,需要检查是否输入了数字值。但是需要注意的是,电话号码不一定只包含数字。

解决方法:

可以使用Integer.TryParse来检查是否输入了数字值。下面是一个示例代码:

int num;
bool isNum = Integer.TryParse(txtHomePhone.Text.Trim(), out num);
if (!isNum)
    //显示错误
else
    //继续执行程序的其他部分,例如将电话号码添加到程序中。

这里使用Integer.TryParse方法来尝试解析文本框中的内容为整数。如果解析成功,则说明输入的是数字值,可以继续执行程序的其他部分。如果解析失败,则说明输入的不是数字值,需要显示错误提示。需要注意的是,这种方法只能验证输入是否为数字值,并不能验证是否为有效的电话号码。如果需要验证电话号码的格式,可以参考Trevor Pilley的答案中关于使用掩码文本框的方法。

0
0 Comments

问题的原因是需要对文本框进行验证,只允许输入数字。解决方法是使用MaskedTextBox控件来指定输入字符的掩码,并限制输入值,然后可以将值安全地解析为整数。在Windows Forms中可以使用MaskedTextBox控件,通过设置Mask属性来指定输入掩码。如果使用WPF,可以通过NuGet上的扩展来实现类似的功能。需要注意的是,Maskedtextbox并不隐藏输入值,而是强制输入符合掩码格式。对于Trevor的例子,文本框只会显示格式为"##### ### ###"的11个数字,其中空格是强制添加的。

0
0 Comments

问题的原因是需要对一个文本框进行验证,只允许输入数字。解决方法是通过使用KeyPress事件来接受允许的字符并拒绝不允许的字符。

代码示例中,通过在Form1的构造函数中订阅txtHomePhone的KeyPress事件来实现验证。在txtHomePhone_KeyPress方法中,判断输入的字符是否为数字或回退键(backspace),如果是则将e.Handled设置为false,否则将e.Handled设置为true。

注意:回退键在代码中用''表示。

如果需要限制某些特定字符只能输入一次,可以使用条件语句来实现。如果想要在特定位置允许输入'-'、' '、'('或')',建议使用正则表达式。

在第二个示例代码中,同样判断输入的字符是否为数字或回退键,如果是则将e.Handled设置为false。如果输入的字符是')'且txtHomePhone文本框中不包含')',或者输入的字符是'('且txtHomePhone文本框中不包含'(',或者输入的字符是'-'且txtHomePhone文本框中不包含'-',或者输入的字符是' '且txtHomePhone文本框中不包含' ',则同样将e.Handled设置为false。否则将e.Handled设置为true。

感谢,希望对你有帮助 🙂

允许输入123( 例如,我在Visual Basic .NET中尝试过这个

非常有用的答案,谢谢。在Visual C# MVStudio环境中,我需要使用e.KeyChar=='\b'来捕获回退键(而不是e.KeyChar=='')。我使用了你的模式来接受一个特定字符的一个实例,以接受我的数值中的小数点。

0