验证/创建仅限数字文本框的最佳方法是什么?

时间:2010-01-19 17:05:17

标签: c# asp.net javascript validation currency

我想要一个仅限数字/货币的文本框控件。

所以基本上它应该接受这种输入

$123
523,100
$12.50
85.59

并将其转换为

123
523100
12.50
85.59

并且不应接受此输入

F12
309$2342
,102

我已经查看了验证器控件,但我想完全从客户端进行转换/检查。这样做的最佳方式是什么?

如果他们尝试输入无效数据并阻止他们将错误数据留在文本框中,我还希望弹出客户端错误(消息框或其他内容)。然后当它们离开文本框的焦点时,它会自动将数据转换为客户端的固定数字。

我将如何开始这样做? ASP.Net中有什么东西可以帮助我吗?我是否需要使用onfocus事件或javascript更适合哪些事件来验证这一点?我对Javascript也很缺乏经验..所以如果这有点吵闹,我会道歉。

是的,我还将在服务器端进行验证

2 个答案:

答案 0 :(得分:1)

您可以尝试使用isNaN()验证文本框内的值,以便在每次击键后检查值是否为数字。

无论如何,此问题已在此处得到解答:Validate decimal numbers in JavaScript - IsNumeric()

答案 1 :(得分:0)

如果您需要拒绝某些输入,则依赖客户端验证会带来安全风险。

如果您在网站上使用MS Ajax,则可以使用MaskedEditExtenderFilteredTextBox。否则,有很多很棒的javascripts可以进行客户端验证,尤其是与jQuery一起使用。

只是不要忽略服务器端的验证。