1

I'm working on some password validation on my new project. I have this rules that i want to convert on regex pattern using php preg_match() function:

  • Accept all characters.
  • Except spaces.
  • With minimum of 4 chars.
  • Max 20 chars.

Thanks you in advance!

tiltdown
  • 451
  • 1
  • 11
  • 26

1 Answers1

4

Try this

(?s)^(\S{4,20})$

Explanation

"(?s)" +     // Match the remainder of the regex with the options: dot matches newline (s)
"^" +        // Assert position at the beginning of the string
"(" +        // Match the regular expression below and capture its match into backreference number 1
   "\\S" +       // Match a single character that is a “non-whitespace character”
      "{4,20}" +      // Between 4 and 20 times, as many times as possible, giving back as needed (greedy)
")" +
"$"          // Assert position at the end of the string (or before the line break at the end of the string, if any)
Cylian
  • 10,970
  • 4
  • 42
  • 55