【问题标题】:Make input field validate a number range and a single character using regular expressions使用正则表达式使输入字段验证数字范围和单个字符
【发布时间】:2018-02-28 06:58:53
【问题描述】:

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

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

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

我尝试了以下方法:

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

我哪里错了?

【问题讨论】:

  • 任意数量的数字和%? (您目前只允许一个数字 (0-7) 后跟 %
  • 输入字段只能采用单个值,无论是0-7 范围内的数字还是% 字符
  • 你需要一个 OR - ^[0-7]|[%]$
  • @StephenMuecke 成功了。您可以将您的评论标记为答案
  • 已添加答案 :) - 但我会更新您的问题以明确您想要什么。

标签: c# regex asp.net-mvc


【解决方案1】:

如果您想使用 0 到 7 的范围。(一次只能使用一位数),请使用 [0-7]% 使用 [%]。要连接两个要求(For 或条件),请在两个方括号之间使用 |

你的正则表达式应该是这样的

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

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

@Stephen 在 cmets 中提到的$ 指出您的% 必须出现在字符串或表达式的末尾。

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

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

【讨论】:

  • @StephenMuecke,我可以和你分享我的观点吗?你比我快
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-18
  • 1970-01-01
相关资源
最近更新 更多