使输入字段使用正则表达式验证数字范围和单个字符

问题描述 投票:0回答:1

这是一个常见问题。但我没有得到我需要的答案。我看了MVC Validation make RegularExpression numeric only on string field(在众多中)作为参考,但我还没到那里。

我有一个绑定到MVC属性的html5输入字段。我想使用[RegularExpression()]属性,但我没有得到我需要的输出。我需要输入才能采取以下措施:

07之间的单个数字,或%字符

我尝试了以下方法:

[RegularExpression("^[0-7][%]")]

我哪里错了?

c# regex asp.net-mvc
1个回答
1
投票

如果你想使用从0到7的范围(一次只有一位数),那么使用[0-7]和%使用[%]。要连接两个要求(For或condition),请在两个方括号之间使用|

你的正则表达式看起来像这样

[RegularExpression("^[0-7]|[%]")]

^在正则表达式的开头,表明你的字符串应该以数字开头。

@Stephen在评论中提到的$表示你的%必须出现在字符串或表达式的末尾。

现在取决于你,如果你想要字符串应该是D%格式,其中D是数字和%,然后在开头使用^,在正则表达式结束时使用$。例如5%

如果不是这种情况,那么你可以从正则表达式中删除^和$,例如%

© www.soinside.com 2019 - 2024. All rights reserved.