我目前正在验证前端(Vuetify)和后端(Laravel)上的用户名,如何在此Regex
中添加支票以排除大写字符:
^(?!.*\.\.)(?!.*\.$)[^\W][\w.]{0,29}$
代替\w
(单词-匹配任何单词字符(字母数字和下划线)),我已经尝试过类似的方法,但是仍然允许使用大写字符:
^(?!.*\.\.)(?!.*\.$)[^\W][a-z0-9_.]{0,29}$
这些字符串中的期望结果验证:
这些失败:
答案 0 :(得分:1)
您可以使用:
^(?!.*\.\.)(?!.*\.$)[a-z0-9_][a-z0-9_.]{1,28}$
将满足您的要求。 [^\W]
允许29个字符检查之前的任何字母数字字符或下划线。这也是一个双重否定词,更容易编写,\w
。
与https://regex101.com/r/Bh6Tbd/2/相比,您可以在https://regex101.com/r/Bh6Tbd/3/看到它的功能。