1-40个字符,登录名只能由字母、数字、“-”、“_”、“.”组成,且不能以“-”开头,不能以“.”、“.git”或者“.atom”结尾
1-40个字符,登录名只能由字母、数字、“-”、“_”、“.”组成,且不能以“-”开头,不能以“.”、“.git”或者“.atom”结尾
/^(?!-)[\.-\w]{1,40}(?<!\.|\.git|\.atom)$/
楼上的答案有个问题,比如下面:
/^[^-][\w-\.]{0,39}(?<!\.|\.git|\.atom)$/.test('$')
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
简单的就是:
/^[^-][\w-\.]{0,39}(?<!\.|\.git|\.atom)$/
/^(?!\-)[\w\-\.]{1,40}(?<!\.|\.git|\.atom)$/
,但是反向否定预查在js中兼容性bus很好所以就有了这个复杂点的:
/^((?![\w\-\.]{0,39}\.$|[\w\-\.]{0,36}\.git$|[\w\-\.]{0,35}\.atom$)[^\-][\w\-\.]{0,39})$/