【问题标题】:regular expression for allowing number and null value but not just whitespace like " "允许数字和空值的正则表达式,但不仅仅是像“”这样的空格
【发布时间】:2014-07-08 10:34:04
【问题描述】:

我需要一个正则表达式来检查数字,允许'null'值并且不允许空格;

在 CustomerViewModel 中:

[Display(Name = "Phone")]
[RegularExpression(@"^[0-9]{4,15}", ErrorMessage = "{0} is not correct!")]
public string CustomerPhoneNumber { get; set; }

它允许数字和'null'值和“”。 在表单的编辑模式下,当我的文本框有“ ”时,它不会显示错误! 我想显示“”的错误并停止发布表格。 我怎样才能做到这一点?

【问题讨论】:

  • 你为什么不考虑 isnullorempty() ???。虽然它不是正则表达式,但你可以使用它来达到你想要的结果。

标签: c# regex asp.net-mvc


【解决方案1】:

这应该适用于只允许没有空格的数字

^(\s*|\d+)$

【讨论】:

  • 它允许我在我的文本编辑器中输入空格并发布它!
  • @mortazavi 我测试过here,你也可以上网工具看看
【解决方案2】:

用于允许数字和“null”值。*前提是 null 是小写的并且 null 是一个单词。

([0-9a-z]+)

只允许数字

([0-9]+)

【讨论】:

  • 它允许我在我的文本编辑器中输入空格并发布它!
【解决方案3】:

试试这个就行了

@"^[0-9][0-9 ]{4,15}$"

【讨论】:

  • 它允许我在我的文本编辑器中输入空格并发布它!
  • @"^[0-9][0-9 ]{4,15}$" 试试这个
  • 我看到,在我的客户端中它没有显示正则表达式错误,但是当它进入我的操作并检查 (ModelStat.Isvalid) 时,它会抛出正则表达式错误并返回 false。跨度>
  • @mortazavi 你为什么不把这个正则表达式放在cshtml页面中?
猜你喜欢
  • 1970-01-01
  • 2017-11-16
  • 2020-01-08
  • 1970-01-01
  • 2016-08-22
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
相关资源
最近更新 更多