正则表达式 - 在范围内或零
本文关键字:范围内 正则表达式 | 更新日期: 2023-09-27 18:35:06
我需要一个正则表达式来检查项目订单计数是 0 还是介于 2500 和 999999 之间。这甚至可能做到吗?
例:您可以订购 0(无商品),也可以订购 2500 件或更多商品。
更新:这需要是一个正则表达式,因为它将在 MVC 的验证属性中使用。
[RegularExpression(@"SomeRegExpression", ErrorMessage = "Min order error")]
如果它必须是正则表达式:
^(?:0|'d{5,6}|2[5-9]'d'd|[3-9]'d'd'd)$
解释:
^ # Start of string
(?: # Either match...
0 # 0
| # or
'd{5,6} # a five- or six-digit number
| # or
2[5-9]'d'd # 2500-2999
| # or
[3-9]'d'd'd # 3000-9999
) # End of alternation
$ # End of string
您还可以编写自己的自定义验证属性。
有关示例,请参阅如何为 MVC 和/或 http://www.codeproject.com/Articles/301022/Creating-Custom-Validation-Attribute-in-MVC-3 创建自定义验证属性。
例如;
public class CustomValidationAttribute : ValidationAttribute
{
public override bool IsValid(object value)
{
int number = value as int;
return (number == 0 || (number >= 2500 && number <= 999999));
}
}