validator.js icon indicating copy to clipboard operation
validator.js copied to clipboard

Inconsistent isSlug results with "." in the inputs

Open Zhuochengyu opened this issue 1 year ago • 2 comments

Describe the bug A clear and concise description of what the bug is. IsSlug shows inconsistent results when I put "." in the inputs.

Examples If applicable, add screenshots to help explain your problem.

> isSlug('i.am.not.a.slug')
false
> isSlug('slug.is.cool')
true

Additional context Validator.js version: 13.11.0 Node.js version: v18.15.0 OS platform: macOs 12.6.3

Zhuochengyu avatar Mar 27 '24 16:03 Zhuochengyu

@Zhuochengyu I have raised a pull request for the bug reported if you would like to review.

alinaghale88 avatar Mar 31 '24 21:03 alinaghale88

@alinaghale88 @Zhuochengyu I came looking for an issue with iSlug as basically anything with a special character was passing for me. When using special characters, I noticed that the regex will only fail if the second character is a special character like in your first example. Any other position and it doesn't get caught. I think it has to do with the fact that the regex also requires the string to be at least 3 characters long. Once it's 3 characters long, special characters are not caught like your second example.

jfaMan avatar Apr 17 '24 06:04 jfaMan