问题
I would like to disallow if the string contains consecutive five digits and more like: 12345, 11111, 123456.
I have got success in disallowing any number in string using following regex:
/^[^0-9]+$/
I have created a sandbox demo. I want to disallow five consecutive numbers/digits. Currently it is disallowing any number.
回答1:
The regex matching 5 consecutive digits is \d{5}.
To disallow such a string (actually, even more consecutive digits), at any position in the source string, this regex should be put:
- inside a negative lookup:
(?!...), - after a regex matching any number (zero or more) of any chars
.*?(reluctant variant).
After this negative lookup, there should be a regex matching the whole string:
.+ (I assume that you are not interested in an empty string, so I put +,
not *).
The whole regex above should be preceded with ^ and followed with $ anchors.
So the whole regex can be: ^(?!.*?\d{5}).+$
回答2:
This is a good website for testing your regex:
https://regex101.com/
You could try this:
/^[0-9]{5,}$/
5 numbers or more will pass the regex.
来源:https://stackoverflow.com/questions/50813606/how-to-disallow-consecutive-five-digits-and-more-using-regex