如果RegularExpressionValidator控件指定的正则表达式能够验证数值,那么该控件可以验证用户的输入是否为一个数值。效果如图所示。
下面的代码实例RegularExpressionValidator控件revValue验证tbValue控件的内容是否为数值。如果该内容不是数值,则验证失败,并显示提示信息“请输入整数或实数。”。另外,该示例还使用了RequiredFieldValidator验证控件rfValue验证了tbValue控件的内容不能为空。如果该内容为空,则rfValue控件显示提示信息“输入不能为空!”。
其中,正则表达式-?(0|([1-9]/d*))(/./d+)?用来验证一个整数或实数,包括正整数、正实数、零、负整数和负实数。该表达式的说明如下:
0验证整数零。
[1-9]/d*验证以非零开头的任何正整数。
-?可以验证符号“-”,该符号可以出现一次或者不出现。当它不出现时,此时被验证的内容为正整数或正实数,否则为负整数或负实数。
/./d+验证从小数点开始的内容(包括小数点)。
(/./d+)?表示小数点开始的内容可以出现一次或者不出现。如果出现,则验证实数,否则为整数。