1

我只需要在多行文本区域输入字段中允许以下字符:

空格、数字、英文字母及以下特殊字符:! " # $ % & ' ( ) * + , - . / : ; < = > ? @ ` [ \ ~ ] ^ _ { | }

我想通了,除了多行部分:

        [RegularExpression("^[ -~]+$", ErrorMessage = @"Allowed characters for item description: space, numbers, English letters and following special characters: ! "" # $ % & ' ( ) * + , - . / : ; < = > ? @ ` [ \ ~ ] ^ _ {{ | }}")]

只要所有内容都作为一行输入,它就可以按需要工作。我只是不知道如何将其扩展到多行。

4

1 回答 1

1

您可以使用

"^[ -~]*(?:\r?\n[ -~]*)*$"

模式匹配:

  • ^- 字符串的开始
  • [ -~]*- 0 个或更多可打印的 ASCII 字符
  • (?:- 开始非捕获组匹配
    • \r?\n- 一个可选的(1 或 0)CR 符号,然后是一个 LF 符号(以便它匹配 Windows 和 Unix/Linux 行尾)
    • [ -~]*- 0 个或更多可打印的 ASCII 字符
  • )*- ...零次或多次
  • $- 字符串结束。
于 2018-06-04T19:17:44.317 回答