Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

RegEx to check 3 or more consecutive occurrences of a character

Tags:

regex

php

I want to check an input string to validate a proper text.

a. I want the users to allow to writer alphanumeric characters including period, comma, hyphen and round bracket ()

b. However, i dont want the users to enter a NUMBER with 3 or more digits together. eg: 12 is allowed while 185 is NOT.

c. I dont want the users to enter strings like "............." or "----------" or "aaaaaaaaaaaaaa" or "bbbbbbbb" etc.

Please suggest the regular expression for the same.

like image 516
Vipin Kunwar Avatar asked Nov 05 '22 03:11

Vipin Kunwar


1 Answers

You can use the regex:

(?!.*(.)\1{2})^[a-zA-Z0-9.,()-]*$

It uses the negative lookahead (?!.*(.)\1{2}) to ensure that there is no group of 3 repetitions of any of the characters.

Then it uses the regex ^[a-zA-Z0-9.,()-]*$ to ensure that the string is made of just alphabets, numbers, period, comma, parenthesis and hyphen.

Rubular link

like image 58
codaddict Avatar answered Nov 09 '22 15:11

codaddict