介绍
在这个例子中,我将向你介绍怎样扩展一个 ASP.NET textbox ,使之只接受用户输入数字。用户在 textbox 中,除了数字不能输入其它任何数据。
使用代码
整个工作已在 Jscript 的一个函数中做好了,此函数处理 textbox 的 OnKeyPress 事件。这里是实现此功能的步骤:
- 建立了一个简单的名为 FilterNumeric() 的 Jscript 函数,它在 OnKeyPress 事件中过滤用户输入的数据。除了数字和 '-', '.' 的其它数据会被忽略。
- 函数被页面注册。
Page.RegisterClientScriptBlock ("FilterNumeric", GetNumberValidatorScript());
- 将此扩展的特性(attribute)添加到 txtNumber 控件中,以处理 OnKeyPress() 事件。
txtNumber.Attributes.Add ("onkeypress", "FilterNumeric()");
添加一个 RegularExpressionValidator 控件,在服务器端来验证用户输入的数据。它使用以下的表达式:
(^[-]?[1-9]\d+$)|(^[-]?[1-9]$)|(^0$)|(^[-]?[1-9]\d+\.\d$)|(^[-]?[0-9]\.\d$)
它允许的数据: {123134456;4341643.2}.
希望它能帮助一些人!
原文:http://www.codeproject.com/aspnet/NumericValidator.asp
其实我现在才了解,翻译不是一样容易做的事,自己看懂了不难,要准确地将原文的意思翻译成中文真是一件伤脑筋的事。我自己感觉有几个地方有点在胡乱翻译,字词用的有点不切意,不过大概意思还差不多,如果哪位看客看不懂我写的,可以到我给的原文地址去看一下,也许金山词霸都比我翻的好。哦,差点忘了说了,版权归原作者所有,我只是凭个人爱好作了下工作,本人没用于任何商业目的,不负任何责任哦。