用户名开头和结尾的正则表达式

时间:2015-08-17 12:32:00

标签: javascript regex validation

我需要正则表达:

  • 应至少为 6个字母数字字符,并将其与符号
  • 合并
  • 仅允许符号 .),-破折号)或{{1} }(下划线)。
  • 不得以任何符号开头
  • 不得以任何符号结尾
  • 不得包含连续的符号

此正则表达式适用于列表_

上的前两项

如何在字符串的 start end 中排除这些符号?

2 个答案:

答案 0 :(得分:1)

看看这是否有帮助

^[a-zA-Z0-9][a-zA-Z0-9.-_]{4,}[a-zA-Z0-9]$

答案 1 :(得分:0)

扩展@Kratnik的答案,为了表示字符串不以特殊字符开头或结尾,我们可以明确地使用其他替代方案。因此更简单的版本:

^[a-zA-Z0-9](?!.*[._-]{2})[\w.-]{4,}[a-zA-Z0-9]$
  1. [a-zA-Z0-9] - 开头和结尾的字母数字
  2. (?!.*[._-]{2})保证不会跟随两个特殊字符
  3. [\w.-]{4,} - 中间可能包含4个或更多字符