首页 > 解决方案 > 正则表达式以“AB”或“EX”开头,并且只使用字母数字值

问题描述

到目前为止,这是我想出的,但似乎不起作用

    [RegularExpression("/^(AB|EX)?([a-z0-9])/i")]

我知道 ^(AB/EX) 表示以开头,而 /i 用于不区分大小写。如何为字符串的其余部分添加字母数字字符?

标签: c#regexasp.net-core

解决方案


您不应将正则表达式分隔符与RegularExpressionAttribute正则表达式模式一起使用。此外,您不能传递任何选项,因为客户端验证是使用 JS 执行的,并且其 RegExp 引擎不支持任何内联修饰符。

另外,请记住这里的模式将用于匹配整个输入,因此^$锚点是多余的。

利用

[RegularExpression("([Aa][Bb]|[Ee][Xx])[a-zA-Z0-9]*")]

它将匹配一个完全匹配的字符串:

  • ([Aa][Bb]|[Ee][Xx])- Ab///aBabABEX以不区分大小写的方式)
  • [a-zA-Z0-9]*- 0+ ASCII 字母数字字符到字符串的末尾。

推荐阅读