Asp.net 对数字范围使用格式验证程序

Asp.net 对数字范围使用格式验证程序,asp.net,validation,Asp.net,Validation,我正在使用正则表达式。这是一个简单的例子。我希望用户只能输入介于1和31之间的数字,如:[1-31],但我不知道为什么它不接受大于10的数字: 请尝试以下正则表达式: ^[0-3]?[0-9]$ 更多匹配数字范围的示例和解释如下:您好,请检查您的语法!下面的代码接受6到20之间的数字: <asp:RegularexpressionValidator ValidationExpression="[a-zA-Z0-9]{6,20}" /> 你真的应该读一些关于正则表达式的教程,在这

我正在使用正则表达式。这是一个简单的例子。我希望用户只能输入介于1和31之间的数字,如:[1-31],但我不知道为什么它不接受大于10的数字:


请尝试以下正则表达式:

^[0-3]?[0-9]$

更多匹配数字范围的示例和解释如下:

您好,请检查您的语法!下面的代码接受6到20之间的数字:

<asp:RegularexpressionValidator
 ValidationExpression="[a-zA-Z0-9]{6,20}" />

你真的应该读一些关于正则表达式的教程,在这样一个简短的例子中,你甚至缺乏基本的正则表达式知识。尝试使用正则表达式[class]处理字符而不是数字范围,1-31匹配字符范围1到3或1。你可以^[1-9]|[12]\d | 3[0-1]$但为什么在这里工作^[1-9]|[1-9]|[0-2]\/0[1-9]|[1-31]\/19 | 20\d\d$这是一个日期的示例格式,在我看来也是一个错误。为什么不使用一个呢?它们是为这类事情而设计的。这意味着当它不应该用于0、00和32-39时,它是允许的。当然,它可以工作,但类似于^[12]\d |[1-9]| 3[01]$会更准确。丹尼尔·库克先生,你的表达是正确的,但我对此很有信心,所以我发现穆奥的第一个答案比你的答案在任何情况下都很容易理解,谢谢你!!还有呜呜!!这就是我最后想要的:D谢谢你的帮助^[0-2]?[1-9]|[3][0]|[3][1]/[0-1]?[1-2]|[1][0]|[0]?[1-9]/\d{4}$dd/MM/yyyyy这接受信件,并受长度而非OP要求的值的限制。这是错误的答案。对不起,我想你误解了这个问题。。。您的正则表达式将允许6到20个字母数字字符。。。它不会针对介于1和31之间的数值进行验证。