用于测试非仅空格字符串的正则表达式

本文关键字:字符串 正则表达式 空格 测试 用于 | 更新日期: 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 测试。