用于测试非仅空格字符串的正则表达式
本文关键字:字符串 正则表达式 空格 测试 用于 | 更新日期: 2023-09-27 18:34:43
我的视图模型中的某些字符串Required
属性,但是如果用户在文本区域中键入 (是的,空格(,则无法捕获。我需要防止用户提交仅空格字符串。
我正在尝试在视图模型的属性上使用/
属性来验证字符串。我已经看到了一些答案,例如在JavaScript中过滤"仅空格"字符串或如何在MVC视图中使用jquery/ajax验证空格,但它们似乎无法正常工作(是的,在您询问之前,如果我将其从Javscript带到C#,我将省略前导和尾随^(.*'S.*)$
(。这些问题的答案中的示例通常仅针对空格进行验证,或者根本不针对空格进行验证。我需要的是我至少需要一些文本来验证。有一些空格是没有问题的,只要我也有一些非空格字符串。
我应该在我的属性中使用什么正则表达式(我不擅长正则表达式(来验证一些至少包含一些非空格文本的文本?
所需的正则表达式是Required(AllowEmptyStrings = false)
。如果有另一个"真实"字符,这将允许空格。
在属性中,它看起来像这样。
//using System.ComponentModel.DataAnnotations;
[Required, RegularExpression(@"^(.*'S.*)$")]
public string Name { get; set; }
我尝试先添加^'s+$
但没有成功,但这就是Microsoft所说的。它对我不起作用,但上面的正则表达式确实有效。
您可以将这些数据注释添加到字符串中:
[Display(Name = "Email")]
[Required(ErrorMessage = "Please enter email address !", AllowEmptyStrings = false)]
public string Email { get; set; }
AllowEmptyString = false 部分将阻止您保存空字符串(如空格(
正
则表达式'S
匹配仅包含空格的字符串。
正则表达式^'S+$
匹配包含一些非空格的字符串。
试试这个表达式:CC_9
在 http://regexr.com/3cq34 测试。