数据注释不允许只有数字字符串 ASP.NET MVC C#
data annotation disallowing numbers only strings ASP.NET MVC C#
如何创建仅允许包含字母和数字或仅包含字母的字符串的数据注释。
基本上不允许只有数字字符串。
现在,我只有一个字母验证,但如果字符串中存在字母,我无法找到如何也允许数字。
[RegularExpression(@"^[a-zA-Z]+$", ErrorMessage = "No numbers allowed in the sequence.")]
谢谢!
编辑 - 找到解决方案!
基本:
[0-9]*[A-z ]+[0-9]*
这个正则表达式 几乎 完美...
如果用户输入纯数字字符串,它会捕获错误,但是...
如果他添加一个 space,他就可以摆脱字符串。
为了防止这个小错误,我只是从我的控制器中捕获我的 POST 方法中的任何空 spaces 并将错误添加到 ModelState。
感谢@PhillipBetts 的 Regex 101 link,帮助我解决了这个问题!
您应该使用正则表达式尝试 String contains 方法
https://msdn.microsoft.com/de-de/library/dy85x1sa(v=vs.110).aspx
我认为最简单的方法是将正则表达式更改为 \D
以指示至少有一个非数字。
有大量资源可用于测试和学习正则表达式。我最喜欢的Regex 101。
它还有一个库,您可以搜索并找到有用的正则表达式。它还提供了一个方便的解释。
无论如何,希望这就是您要找的东西:
^[\w ]+$
如何创建仅允许包含字母和数字或仅包含字母的字符串的数据注释。
基本上不允许只有数字字符串。
现在,我只有一个字母验证,但如果字符串中存在字母,我无法找到如何也允许数字。
[RegularExpression(@"^[a-zA-Z]+$", ErrorMessage = "No numbers allowed in the sequence.")]
谢谢!
编辑 - 找到解决方案!
基本:
[0-9]*[A-z ]+[0-9]*
这个正则表达式 几乎 完美...
如果用户输入纯数字字符串,它会捕获错误,但是... 如果他添加一个 space,他就可以摆脱字符串。
为了防止这个小错误,我只是从我的控制器中捕获我的 POST 方法中的任何空 spaces 并将错误添加到 ModelState。
感谢@PhillipBetts 的 Regex 101 link,帮助我解决了这个问题!
您应该使用正则表达式尝试 String contains 方法
https://msdn.microsoft.com/de-de/library/dy85x1sa(v=vs.110).aspx
我认为最简单的方法是将正则表达式更改为 \D
以指示至少有一个非数字。
有大量资源可用于测试和学习正则表达式。我最喜欢的Regex 101。
它还有一个库,您可以搜索并找到有用的正则表达式。它还提供了一个方便的解释。
无论如何,希望这就是您要找的东西:
^[\w ]+$