我不确定这是否可以通过Regex 单独编辑来实现。我需要在我的MVC视图中验证整数字段值为10的倍数。这是通过单独的正则表达式和不引人注意的验证来实现的吗?
答案 0 :(得分:8)
这样的模式应该有效:
^[0-9]*0$
当然这将允许0
。如果您想确保输入大于或等于10,可以使用:
^[1-9][0-9]*0$
然而,这不会处理在不同数字系统中表达的数字(例如10,我相信在Eastern Arabic numerals中为10)。最好创建一个custom validation attribute来测试输入的值。一个简单的实现看起来有点像这样:
public class MultipleOf10Attribute : ValidationAttribute
{
public override bool IsValid(object value)
{
return ((int)value) % 10 == 0;
}
}
答案 1 :(得分:3)
嗯。据我所知,10的倍数以0结尾。总是如此。 (至少在十进制中。)那么怎么样
^.*0$
或者如果你想确保它们都是小数:
^\d*0$
简单,除非我遗漏了什么。
根据评论,匹配负数:
^-?\d*0$
对于更通用(且完全无用)的方法,请查看:Check number divisibility with regular expressions
这是检查素数的一种很酷的方式,再次无用here
答案 2 :(得分:0)
是的,你可以这样做,这是10的倍数的正则表达式
^\d*\d?((10)|(0))\.?((0)|(00))?$