【发布时间】:2023-03-11 22:17:02
【问题描述】:
我目前正在前端 (Vuetify) 和后端 (Laravel) 上验证用户名,如何在 Regex 中添加检查以排除大写字符:
^(?!.*\.\.)(?!.*\.$)[^\W][\w.]{0,29}$
而不是\w(Word - 匹配任何单词字符(字母数字和下划线))我尝试过这样的事情,但它仍然允许大写字符:
^(?!.*\.\.)(?!.*\.$)[^\W][a-z0-9_.]{0,29}$
这些字符串中的期望结果验证:
- riegiejeyaranchen
- riegie.jeyaranchen
- _riegie.jeyaranchen
- riegie._.jeyaranchen
- riegie.___.wewsd
这些都失败了:
- Riegie.Jeyaranchen
- .riegie
- riegie..jeyaranchen
- 里吉。
- 里吉
【问题讨论】:
-
如果你也解释一下你到底想允许什么会更容易。
-
请添加示例字符串。这也适用于 JS 或 PHP?
-
你为什么不把它们小写呢?
strtolower($username);不要唠叨用户。 -
@MarkusZeller 你看我想在用户输入他们的用户名时在前端验证,在前端传递之后我也将使用相同的正则表达式在后端验证
-
我在regexr.com 上测试了你的正则表达式我没有发现任何问题。你试过在这里检查吗?
标签: javascript regex