Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

How to don't allow set only the same characters and only special sign – regex js

I’m looking for some regex pattern to:

  • not allow set the same characters
  • not allow only special signs.

So:

  • 11111111 – not allow
  • 1111811111 – allow
  • rrrrrrrr – not allow
  • rrrrrrrrrr5 – allow
  • 11111111% – allow
  • %$!@$!@@@@ – not allow
  • %%%%%%%%%1 – allow

I found regex which is helpful for recognize that string has only special sign: /^\W*\w.*$/, but I don’t know how to join it with condition about not only repeated characters. Thansks for any advices.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

You can assert not only the same characters and make sure to match at least a single word character.

^(?!(.)\1+$)[^\w\n]*\w.*$

Explanation

  • ^ Start of string
  • (?!(.)\1+$) Negative lookahead, assert not only the same characters in the string matching at least 2 characters
  • [^\w\n]* Optionally match any character except a word character or newline
  • \w Match at least a single word character
  • .* Optionally match any character
  • $ End of string

Regex demo

const regex = /^(?!(.)\1+$)[^\w\n]*\w.*$/;
[
  "11111111",
  "1111811111",
  "rrrrrrrr",
  "rrrrrrrrrr5",
  "11111111%",
  "%$!@$!@@@@",
  "%%%%%%%%%1",
  "a"
].forEach(s => {
  if (regex.test(s)) {
    console.log(s + " allow")
  } else {
    console.log(s + " not allow")
  }
});

If you don’t want to match any spaces in the string, you can match non whitespace chars using \S

^(?!(\S)\1+$)[^\w\s]*\w\S*$

Regex demo

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading