用于多行字符串的ASP.Net MVC正则表达式

时间:2018-06-04 18:48:18

标签: regex asp.net-mvc validation

我只需要在多行textarea输入字段中允许跟随字符:

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

除了多行部分外,我发现了它:

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

只要所有内容都作为一行输入,它就可以正常工作。我无法弄清楚如何将其扩展到多行。

1 个答案:

答案 0 :(得分:1)

您可以使用

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

模式匹配:

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