Regex for username that allows numbers, letters and spaces

后端 未结 3 1501
耶瑟儿~
耶瑟儿~ 2021-01-13 19:45

I\'m looking for some regex code that I can use to check for a valid username.

I would like for the username to have letters (both upper case and lower case), number

3条回答
  •  一向
    一向 (楼主)
    2021-01-13 20:12

    Although I'm sure someone will shortly post a 1 million lines regex to do exactly what you want, I don't think in this case a regex is a good solution.

    Why don't you write a good old fashioned parser? It will take about as long as writing the regex that does everything you mentioned, but it's going to be much easier to maintain and read.

    In particular, this is the tricky part:

    it should also not allow for any of the special characters listed above to be repeated more than once in succession

    Alternatively you can always do a hybrid of the two. A regex for the other checks ([a-zA-Z0-9][a-zA-Z0-9 _-\.]*[a-zA-Z0-9]) and a non-regex method for the no-repeat requirement.

提交回复
热议问题