Tom B.
Tom B.

Reputation: 2962

Validation rule: Regex characters not allowed asp.net mvc model validation

For Asp.Net mvc model validation I'm trying to create a regex for the following requirement:

I can write a regex witch matches the non word characters but not the inverse of my question.

Regex

Non word characters and underscore match:

([\W_])

String length between 1 and 5:

{1-5}

Asp.net mvc Code:

namespace x
{
    public class Model
    {
        [RegularExpression(@"")]
        public string AString {get;set;}
    }
}

Upvotes: 1

Views: 948

Answers (1)

Wiktor Stribiżew
Wiktor Stribiżew

Reputation: 626748

You can use

^[^\W_]{1,5}$

Se the demo

The regex breakdown:

  • ^ - start of string
  • [^\W_]{1,5} - not a non-word character and not a _ 1 to 5 occurrences
  • $ - end of string.

The [^...] is a negated character class that matches any character that is not in the character class.

Also, when you want to limit string length with a regex, you need to use some boundaries. In this case, you can rely on the usual start/end-of-string anchors.

Upvotes: 2

Related Questions