gpt4 book ai didi

javascript - 我如何在 javascript 中使用正则表达式在用户表单输入中只允许一个(破折号或点或下划线)?

转载 作者:行者123 更新时间:2023-12-05 09:26:43 24 4
gpt4 key购买 nike

我正在尝试在 javascript 中实现用户名表单验证,其中用户名

  • 不能以数字开头
  • 不能有空格
  • 不能有任何符号,只能有一个点或一个下划线或一个破折号
有效用户名的

示例:the_user-one.123
无效用户名的示例:1----- 用户

我已经尝试实现这个有一段时间了,但是我无法弄清楚如何让每个允许的符号中只有一个:-

const usernameValidation = /(?=^[\w.-]+$)^\D/g 
console.log(usernameValidation.test('1username')) //false
console.log(usernameValidation.test('username-One')) //true

最佳答案

使用负数如何 lookahead一开始:

^(?!\d|.*?([_.-]).*\1)[\w.-]+$

这将检查字符串是否

See this demo at regex101 (右侧有更多解释)

关于javascript - 我如何在 javascript 中使用正则表达式在用户表单输入中只允许一个(破折号或点或下划线)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73439942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com