regex - Regular expression with alpha, hyphens, underscore and dots characters -
i've wrote regex:
/^[a-za-z\-\_\. ]{2,60}$/ it work fine-ish allows --- or ___ or ... or -_. entered input (without 2 alpha @ least) , don't want that. instance can have -aa, a-a, aa--- (similarly other characters).
the requirement there should @ least 2 alpha in string, , hyphens , other 2 non-alpha symbols mentioned can anywhere inside string.
use
/^(?=(?:[^a-za-z]*[a-za-z]){2})[-_. a-za-z]{2,60}$/ see regex demo
details:
^- start of string(?=(?:[^a-za-z]*[a-za-z]){2})- @ least 2 alpha chars in string (that is, there must 2 consecutive occurrences of:[^a-za-z]*- 0 or more chars other ascii letters[a-za-z]- ascii letter)
[-_. a-za-z]{2,60}- 2 60 occurrences of allowed chars$- end of string
note not need escape - if @ start/end of character class. _ word char, no need escaping anywhere. . not need escaping inside character class.
to tell regex engine limit ., _ , - chars max 10 in string, add (?!(?:[^._-]*[._-]){11}) negative lookahead after ^ anchor:
/^(?!(?:[^._-]*[._-]){11})(?=(?:[^a-za-z]*[a-za-z]){2})[-_. a-za-z]{2,60}$/
Comments
Post a Comment